使用 Git 做版本控制,毋庸置疑非常方便,可随心所欲地修改代码。提交代码是开发人员每天都在做的事情,清爽的提交记录让人爽心悦目。在有的场景之下,开发会产生一些琐碎的提交记录,譬如调试 CI 工具的提交,零星修改 bug 的提交,这些提交记录理应属于一条记录,这种情况之下就可以通过 git rebase
合并历史提交。
合并历史提交
以前我常用 git commit --amend --no-edit
来合并提交记录,它会把最新的提交记录合并至上一条提交记录,适用的场景有限。
在上图的场景中,提交历史包含调试 CI 的多个提交,并且调试 CI 的提交不是最新提交,这时便可通过 git rebase
命令来达到合并历史提交的目的。敲入 git rebase -i HEAD~5
便可进入 rebase 的交互页面。此场景下,我希望查看当前 HEAD 前的 5 个提交,所以为 HEAD~5
。另外,git rebase -i --root
命令可将范围选定为所有的提交记录。