当前位置:   article > 正文

git rebase 和git commit --amend 合并多个commit提交异同_git rebase --continue 和 git commit --amend

git rebase --continue 和 git commit --amend

关于git rebase 合并多个(以3个commit为例)commit提交

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
  • 1

如果中间执行了git rebase --abort 或者直接关闭了IDE 会产生COMMIT_EDITMSG临时文件

  1. 删除不正常结束的commit临时文件

使用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!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
rm .git/COMMIT_EDITMSG
rm .git/.COMMIT_EDITMSG.sw*
  • 1
  • 2

关于git commit --amend合并多次未push的commit信息

git rebase -i HEAD~4 可以合并已经push过的commit提交历史,而 在push之前如果存在多次commit想要合并,就可以使用git commit --amend 可以合并当前commit和临近的上一次commit的信息,也可以修改信息,然后再铺上,就不会有很多提交信息了,当然执行该条命令后,依然遵循vim规则:修改或者增加完提交信息后 在当前窗口按下Esc键然后:wq保存退出就 可以了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/407830
推荐阅读
相关标签
  

闽ICP备14008679号