跳转至

Git 合并两个 commit

将两个 Git commit 合并成一个(即 squash commit),可以通过 交互式 rebase(interactive rebase) 来实现。下面是具体步骤:


🛠 方法一:使用 git rebase -i

假设你要合并最近的两个 commit:

git rebase -i HEAD~2

这时会打开一个编辑器,内容大致如下:

pick 1234567 First commit
pick 89abcde Second commit

把第二个 pick 改成 squashs

pick 1234567 First commit
squash 89abcde Second commit

保存并关闭编辑器后,Git 会提示你编辑合并后的 commit message:

# This is a combination of 2 commits.
# The first commit's message is:
First commit

# The 2nd commit's message is:
Second commit

你可以保留、修改或合并这些信息。


✅ 最终效果:

这两个 commit 会被压缩成一个新的 commit,旧的两个 commit 会从历史中移除(注意:会改变历史)。


⚠️ 注意事项:

  • 如果你已经推送了这些 commit 到远程(如 GitHub),你需要强制推送:

    git push -f
    
  • 如果是在公共分支操作,合并 commit 可能会影响他人。

回到页面顶部