赞
踩
1.git rebase -i HEAD~3 进入vim编辑窗口,将要合并的commit的pick改为squash或者s
2.保存当前窗口并退出(在当前窗口按下Esc键然后:wq保存退出)
3.退出后Git会陆续压缩提交历史(commit),如果有冲突需要修改,选择保留最新的提交历史
4. git add . 将修改添加到暂存区
5. git rebase --continue
6.刪除本地merge临时文件
rm .git/MERGE_MSG
如果中间执行了git rebase --abort 或者直接关闭了IDE 会产生COMMIT_EDITMSG临时文件
使用rebase进行合并commit提交的时候出现了不正常退出导致.git文件夹下存在了临时文件从而无法执行git rebase --continue,解决办法就是删除此临时文件重新合并提交
Found a swap file by the name "D:/web/vue2/.git/.COMMIT_EDITMSG.swp"
owned by: YTF dated: Mon Aug 12 20:02:12 2019
file name: /d/web/vue2/.git/COMMIT_EDITMSG
modified: no
user name: YTF host name: blissyang
process ID: 20396 (still running)
While opening file "D:/web/vue2/.git/COMMIT_EDITMSG"
dated: Mon Aug 12 20:03:43 2019
NEWER than swap file!
Swap file "D:/web/vue2/.git/.COMMIT_EDITMSG.swp" already exists!
rm .git/COMMIT_EDITMSG
rm .git/.COMMIT_EDITMSG.sw*
git rebase -i HEAD~4 可以合并已经push过的commit提交历史,而 在push之前如果存在多次commit想要合并,就可以使用git commit --amend 可以合并当前commit和临近的上一次commit的信息,也可以修改信息,然后再铺上,就不会有很多提交信息了,当然执行该条命令后,依然遵循vim规则:修改或者增加完提交信息后 在当前窗口按下Esc键然后:wq保存退出就 可以了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。