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 改成 squash 或 s:
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 可能会影响他人。