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

如何将冲突修复提交Squash到Git合并提交,无需重做冲突解决?

无需重做冲突解决的实现方法

完全可以不用重新处理冲突,通过Git的交互式变基就能把修复commit合并到之前的合并commit中,具体步骤如下:

  • 切换到你的功能分支:
    git checkout 功能分支名称

  • 启动交互式变基,目标是合并commit的前一个提交(假设合并commit是倒数第二个提交,修复commit是最新的那个,所以用HEAD~2指定变基范围):
    git rebase -i HEAD~2

  • 在弹出的文本编辑器中,找到对应修复commit的那一行,将行首的pick替换为squash(或缩写s),保存并退出编辑器。

  • 随后会弹出新的编辑器窗口,用于修改合并后的commit说明,按需调整后保存退出即可。

如果记不清合并commit的位置,也可以直接用合并commit的哈希值来指定变基起点,比如合并commit的哈希是abc123,就执行:
git rebase -i abc123^
(^符号表示指向该commit的父提交)

注意:如果该功能分支已经推送到远程仓库,变基完成后需要执行强制推送:git push -f,执行前请确认没有其他协作者正在该分支上工作,避免覆盖他人提交。

内容的提问来源于stack exchange,提问作者Anomaly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:04:52