用于本人日常备忘
注意事项
- 执行命令前确认当前分支是否正确
具体命令
拉取
git pull
提交
git commit '修改说明'
强制提交
git commit -m "修改说明" --no-verify
推送
git push
强制推送
git push -f
回退到某个历史版本
git reset --hard xxxx(commitId)
回退到上一版本
git reset --hard HEAD^
将其它分支指定的提交(commit)应用于当前分支
多个提交可连续跟多个commitId,用空格隔开
git cherry-pick xxx(commitId)
git cherry-pick --quit
退出当前的chery-pick序列
git cherry-pick --abort
取消当前的chery-pick序列,恢复当前分支
撤销某次提交
将修改的内容再改回去,撤销也会作为一次提交保存
git revert commitId
用其它分支完全覆盖当前分支
此功能慎用,如a覆盖b,覆盖后b的提交记录也跟a一致
git reset --hard origin/a(覆盖当前分支的分支名)
本地覆盖远端
git push origin 分支名 --force
合并远端提交
此功能慎用,只用于自己的开发分支,不要在公共分支上做此操作
git rebase -i commitID
首先需要确定commitID,如我需要合并红色区域内的最新的3条提交,那么commitID是绿色区域的那一个,即需要合并的最早提交记录的上一条。
执行后效果如图
此时按下键盘的i,进行编辑,将除了最早的那一条,其它的都改成s
指令说明
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
修改好后,按下键盘的esc,输入:wq 保存退出
此时可以修改commit message,前面加#注释掉不要的message,修改好后,按下键盘的esc,输入:wq 保存退出
执行成功后 git log查看
使用git push -f提交
npm 依赖包更新
rm -rf node_modules
rm package-lock.json
npm cache clean --force
npm install