You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Bug修复提交压缩到合并提交以修正合并中的Bug

解决方法

直接用以下几步就能搞定,不用重新解决冲突:

  1. 先定位合并提交的哈希值
    执行git log --oneline,找到那条合并提交的记录,记下它的哈希(比如def456),修复提交就是它紧跟的下一条记录。

  2. 重置到合并提交,保留修复修改
    执行命令:

    git reset --soft def456
    

    这一步不会丢失任何修改,只是把HEAD指针移回合并提交节点,修复提交的所有内容会保留在暂存区中。

  3. 将修复内容合并到合并提交
    执行命令:

    git commit --amend
    

    此时会弹出编辑器,你可以直接保留原合并提交的信息,保存退出即可。

完成后,你的提交历史里只会剩下包含修复内容的合并提交,原修复提交会被彻底移除,完全看不出曾经出现过Bug。

如果你更习惯用交互式变基,也可以按以下操作:

  • 执行git rebase -i --rebase-merges HEAD~2(假设合并提交是倒数第二个提交)
  • 在弹出的编辑器中,把修复提交那行的pick改成squash(会让你编辑合并后的提交信息)或fixup(直接沿用合并提交的信息)
  • 保存退出后按提示完成操作即可

注意:因为修改了本地提交历史,若之后需要推送到远程仓库,需使用git push --force,但你目前只有本地修改,无需考虑这一步。

内容的提问来源于stack exchange,提问作者Jakub Znamenáček

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:27:12