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

如何在Git Bash中解决Git Interactive Rebase变基冲突问题

Git Bash 变基(rebase)冲突处理方案

与VSCode冲突处理选项对应的命令行实现

首先需要明确:变基操作过程中Git的角色定义与普通合并相反,Git会先切换到你指定的基底分支(本次场景为origin master的53681c8提交),再逐个重放你本地功能分支的提交,因此:

  • VSCode「接受当前更改」:保留基底分支(origin master)的冲突内容,丢弃当前正在重放的本地提交的改动,对应命令:
    git checkout --ours jd-test/admin/messenger.xml
    
  • VSCode「接受传入更改」:保留当前正在重放的本地提交的冲突内容,覆盖基底分支的改动,对应命令:
    git checkout --theirs jd-test/admin/messenger.xml
    
  • VSCode「合并双方更改」:手动编辑冲突文件整合两边改动,可直接通过命令行编辑器打开文件:
    # 用nano编辑器打开,也可替换为vim等你习惯的命令行编辑器
    nano jd-test/admin/messenger.xml
    
    打开后文件中的冲突标记规则如下:
    • <<<<<<< HEAD 到 ======= 之间的内容为基底分支(origin master)的内容
    • ======= 到 >>>>>>> [提交ID] 之间的内容为当前重放的本地提交的内容
      手动编辑删除冲突标记、整合内容后保存退出即可。

当前场景最优处理步骤

  1. 按照你的业务需求选择上述三种冲突处理方式之一完成内容修改
  2. 标记冲突已解决:
    git add jd-test/admin/messenger.xml
    
  3. 继续变基流程:
    git rebase --continue
    

备选操作

  • 若不需要保留当前重放的这个提交的改动,可直接跳过该提交:
    git rebase --skip
    
  • 若想终止整个变基流程,回到变基前的分支状态:
    git rebase --abort
    

注意:由于你的待重放提交中还有多个提交修改了messenger.xml,后续可能还会触发同类冲突,重复上述解决步骤直到所有提交重放完成即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:15:03