首页/开发/Git 与协作速查/git merge -s ours 记录合并但不取内容
合并变基与冲突71 条

git merge -s ours 记录合并但不取内容

生成一个合并提交、但结果树保持当前分支不变,用来「宣告某分支已被吸收」;旧分支的内容不会进入主干。

Git 与协作速查开发更新于 2026-10-12
用途建立合并关系而忽略对方内容
语法git merge -s ours <分支>
结果历史图连续,文件内容不变

常用示例

常用示例
git switch main
git merge -s ours legacy/old-api
git log --oneline --graph -5
git diff HEAD^ HEAD --stat
对方提交在历史图中被「画成」已合并,之后在其基础上重新合并不会带入这些改动;只在确认该分支作废时使用。

易错点

  • 误用后他人以为改动已包含,实际文件未变,容易造成「改了却没生效」的排查事故
  • 若只是想保留对方内容又不想产生合并提交,应改看 --squash 或 rebase 方案

数据来源与参考

  • Git 官方文档:git-merge(ours 策略)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌