首页/开发/Git 与协作速查/git merge -X ours 冲突块取本分支
合并变基与冲突71 条

git merge -X ours 冲突块取本分支

双方改到同一区域时,自动选择当前分支一侧的内容而不报冲突;未冲突部分照常合并,是「以我为主」的产线救急手段。

Git 与协作速查开发更新于 2026-10-12
用途冲突块自动采用当前分支版本
语法git merge -X ours <分支>
注意非冲突区域仍会被对方改动覆盖

常用示例

常用示例
git switch main
git merge -X ours release/hotfix
git log --stat -1

仅对单文件取一侧

仅对单文件取一侧
git checkout --ours -- config/app.yaml
git add config/app.yaml
自动取一侧只解决文本冲突,会静默丢弃对方在该区域的修改;合并后务必 diff 复核,适合紧急恢复而非日常流程。

易错点

  • -X ours 不会丢弃对方的非冲突提交,别把它当 -s ours 使用,两者语义差别很大
  • 用它处理配置/锁文件冲突后容易忘记复核,建议合并后跑一次 git diff HEAD^ 检查被忽略的改动

数据来源与参考

  • Git 官方文档:git-merge(-X ours)
  • Pro Git 2nd Edition · 7.8 高级合并
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌