首页/开发/Git 与协作速查/自定义合并驱动:keep-ours
合并变基与冲突71 条

自定义合并驱动:keep-ours

对版本号、锁文件等总是「保留当前分支」的文件类型,可在 .gitattributes 里绑定自定义 merge 驱动,让合并自动保留本地版本。

Git 与协作速查开发更新于 2026-10-12
用途指定文件类型自动保留一侧
配置merge.<名称>.driver 定义命令;.gitattributes 引用
适用版本文件、生成物、锁文件

配置示例

配置示例
git config merge.keepours.driver true
printf 'VERSION merge=keepours
' >> .gitattributes

更严谨的驱动

更严谨的驱动
# %O 共同祖先文件  %A 当前分支文件(结果写回此文件)  %B 对方分支文件  %P 路径
git config merge.keepours.driver true   # 结果保持 %A 不变,即保留本地版本
自动保留会让对方在该文件的改动静默消失,只用于「本地必赢」的特定文件,并在评审中说明。

易错点

  • 驱动命令在每个人的机器上执行,配置没同步会导致行为不一致;驱动脚本要随仓库分发
  • 把逻辑文件误配为保留一侧会静默丢代码,配置前逐项确认文件清单

数据来源与参考

  • Git 官方文档:gitattributes(merge 驱动)
  • Pro Git 2nd Edition · 8.2 Git 属性
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌