在日常开发feature之后会在自己开发的分支上留下许多提交记录,想在最后发版本提交
将多个提交合并成一个提交记录,显得规整一些。
查询相关资料之后,发现使用 git rebase 和 git squash 命令配合完成上述需求。
以下将多个提交合并成一个提交记录步骤记录:
- 首先,使用 git log 命令查看你要合并的提交记录的哈希值,确定需要合并的提交数量和顺序。
- 运行 git rebase -i HEAD~n 命令,将 n 替换为要合并的提交数量。这将打开一个交互式 rebase 编辑器。
- 在交互式 rebase 编辑器中,将需要合并的提交记录的 pick 关键字改为 squash 或 s。将要保留的最终提交记录保持为 pick。
- 保存文件并关闭编辑器。然后,将会打开一个新的编辑器,用于编辑最终的合并提交记录的消息。在编辑器中,可以修改合并后的提交消息。
- 保存文件并关闭编辑器。Git 将自动进行 rebase 操作,将多个提交合并成一个提交记录。
- 依此循环上述步骤。
因为 git rebase 和 git squash 命令带来变基和修改历史记录影响,所以避免在公共分支上操作,比如develop,test等分支操作,以防将别人代码进行覆盖或删除。因此,只应该在本地仓库上进行此操作。