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

git rebase过程中如何自动应用--ours和--theirs冲突处理规则

解决方案

方案1:尚未启动rebase操作

直接在rebase命令中指定合并策略选项即可全局生效:

  • 优先采纳目标分支(rebase 操作中的 ours 侧)的所有冲突内容:
    git rebase -X ours <待变基的目标分支名>
  • 优先采纳待变基分支(rebase 操作中的 theirs 侧)的所有冲突内容:
    git rebase -X theirs <待变基的目标分支名>

注意:rebase 场景下的 ours 和 theirs 定义和 merge 场景相反:ours 指你正在往上面变基的目标分支内容,theirs 指你当前正在变基的本地分支的提交内容。

方案2:已经处于rebase过程中,不想终止重开

如果只需要对特定文件file.py应用固定策略,可以在Git Bash中运行简单的循环脚本自动处理后续所有冲突:

自动采纳ours版本的脚本:

while true; do
  # 对冲突的指定文件应用ours规则
  git checkout --ours file.py
  git add file.py
  # 继续rebase,无冲突则结束循环
  if git rebase --continue; then
    break
  fi
done

自动采纳theirs版本的脚本:

仅需把上面脚本中的--ours替换为--theirs即可。

如果需要对所有冲突文件都应用同一规则,把git checkout --ours file.py中的file.py替换为.即可。

注意事项

该方案仅适用于你确定对应文件的所有冲突都可以按固定规则处理的场景,否则可能会导致不需要的内容丢失。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:36:03