使用git协同开发时,或更准确地说,当对commit message的书写有要求(如需要抓取changelog)且开发规模大(意味着不能完全完成某个feature后再统一提交)时,往往在将本地提交推送到远程分支之前需要精简提交记录。
本文介绍通过git rebase合并(本地)提交记录的方法。
通过git rebase合并提交记录
主要包括以下步骤:
- 检查版本库状态和提交记录
- 开启rebase交互模式
- 选择要合并的记录
- 修改提交信息
- 检查版本库状态和提交记录
开始和结束时的检查步骤是为了避免冲突。
举个🌰
在rebse前请务必检查版本状态和已有提交记录:
1 | git status |
开启交互模式,其中commit_sha
是待合并的一系列记录的前一条记录(直观地,“rebase”的“base”):
1 | git rebase -i <commit_sha> # 在这个例子里是0be9852 |
选择要合并的记录,如图是执行以上命令后在终端中打开的文本编辑器,根据提示(注释)修改目标提交记录前的command tag即可。
修改前:
修改后:
修改提交信息,即将多条提交信息合并为一条。如图是执行以上命令后在终端中打开的文本编辑器,根据提示(注释)修改提交记录即可:
最后检查提交记录,确认无误后推送到远程分支:
1 | git log |
合并前的提交记录:
合并后的提交记录: