利用 git rebase -i 指令合并多次 commit

由于公司要求一次 push 只能有一次 commit,然而自己由于操作失误,导致一次修改的内容,分成了两次 commit,再进行 push 的时候就失败了

在网上找了一次找到了如下的方法


合并前两次 commit 的信息

# git rebase -i HEAD~2

将从现在起倒数第二次 commit 修改为 squash

pick acf6d24 2
squash  0353373 3

表示保留倒数第二次提交,但压缩到最近一次提交


然后,按esc退出编辑,再按:,输入wq保存。
这时候会进入第二个vim页面,这里让我们再次修改commit message的。就是合并后的message。

# This is a combination of 2 commits.
这是合并后的message,以下是之前合并的历史
# This is the 1st commit message:

2

# This is the commit message #2:

3

还是和刚才一样,按o插入下一行,输入这次合并的message。然后按esc,按:, 输入wq保存并退出。


# git log

查看一下就会发现,最近两次的 commit 已经合并为了一次 commit


参考资料:

1、git 合并提交历史
https://www.cnblogs.com/woshimrf/p/git-rebase.html#_caption_2

2、git中利用rebase来压缩多次提交
https://blog.csdn.net/itfootball/article/details/44154121

3、使用git rebase合并多次commit
https://blog.csdn.net/yangcs2009/article/details/47166361

你可能感兴趣的:(Git)