git 多个提交记录合并为一个_git合并提交记录
1.场景
有时候用devops等平台测试问题,需要多次修改小的记录提交,但是最终我们在合并主干的时候不想留那么多乱七八糟的记录,就需要在此分支合并这些提交记录,再合并到主干。
2.交互式变基
2.1 确定要合并的提交范围
# 查看最近提交历史git log --oneline
2.2 启动交互式变基
# 合并最近4个提交git rebase -i HEAD~4# 或者指定到某个commitgit rebase -i abc1234^
2.3 在编辑器中修改提交指令
pick a1b2c3d 第一个提交squash b2c3d4e 第二个提交squash c3d4e5f 第三个提交squash d4e5f6g 第四个提交
- 
保留第一个提交为
pick - 
将后续要合并的提交改为
squash或s(保留提交信息) - 
或使用
fixup或f(丢弃提交信息) 
2.4 保存并退出编辑器
 在Vim中是:wq
2.5 编辑合并后的提交信息
- 
Git会打开一个新编辑器让你编辑最终的提交信息
 - 
默认会包含所有被合并提交的信息,你可以修改或保留
 
2.6 完成合并
- 
保存退出后,多个提交就合并为一个了
 
2.7 强制推送
如果已经推送到了远程仓库,合并后需要强制推送:
git push -f


