只有自己一个人开发的分支,提交记录有多次,想要合并多次提交记录
1. 交互式变基
git rebase -i HEAD~N
N = 你想合并的提交数
2. 在编辑器中设置 squash
执行完第一步后,会弹窗让你修改
弹窗修改前:
pick p3q4r5s Implement core logic
pick m0n1o2p Refactor utils
pick i7j8k9l Add logging
pick e4f5g6h Update config
pick a1b2c3d Fix typo
弹窗修改后:
pick p3q4r5s Implement core logic
squash m0n1o2p Refactor utils
squash i7j8k9l Add logging
squash e4f5g6h Update config
squash a1b2c3d Fix typo
第一个用 pick,后面的都用 squash(或简写 s)。修改完毕后保存退出
3. 编辑最终提交信息
保存后,Git 会打开新窗口,让你写合并后的提交信息。
你可以:
删除不需要的行(以前的提交注释)
写一个简洁清晰的新信息作为合并后的提交注释
保存退出
比如修改前,有49个提交记录的注释

修改后:删除了之前所有的提交注释,重新提交一个注释"24247-4 鸿蒙内网升级需求提交" 然后保存退出

4.强制推送
本地历史已改写,必须强制同步到远程:
git push --force-with-lease