问题库 问题库 how-to

Git 如何合并多个 commit

快速答案

合并最近 3 个提交:

bash
git rebase -i HEAD~3

在打开的列表里保留第一个 pick,把后续提交改成 squash 或 fixup。

squash 和 fixup

命令 说明
squash 合并提交,并允许编辑合并后的 message
fixup 合并提交,并丢弃该提交的 message

使用建议

  • 合并提交最好在推送前完成。
  • 如果分支已经被别人基于其开发,不要随意改写历史。
  • 合并后运行测试,确认整理历史没有引入冲突错误。

常见坑

  • HEAD~3 表示最近 3 个提交,数字选错会漏掉或包含多余提交。
  • rebase 冲突后要 git add 再 git rebase --continue。
  • rebase 后推送远程可能需要 --force-with-lease。

相关内容