【问题标题】:Git merge driver is not used未使用 Git 合并驱动程序
【发布时间】:2015-05-29 05:17:35
【问题描述】:

我有两个这样的分支 b1 和 b2:

我的仓库
|- .git
|---|- 配置
|- .git 属性
|- D1
|---|- foo.xml

在 git\config 中,我有这样的配置:

[merge "MyMerger"]
    name = My merger
    driver = MyMerger.exe %B %A %O

MyMerger.exe 存在于 Path 环境变量中

然后,在 .gitattributes 中,我有这个:

/D1/foo.xml merge=MyMerger

但是当我尝试将 B1 和 B2 与两个分支中 foo.xml 中的更改合并时,它失败了:

自动合并 D1/foo.xml
CONFLICT(内容):D1/foo.xml 中的合并冲突
自动合并失败;修复冲突,然后提交结果。

我还尝试使用此配置在 D1 中移动 .git 属性:

foo.xml merge=MyMerger

但它也失败了。

我错过了什么?

谢谢

【问题讨论】:

    标签: git merge git-merge


    【解决方案1】:

    只要您的 .gitattributes 中没有 BOM,我的初始配置就可以正常工作

    【讨论】:

      【解决方案2】:

      我相信你必须有merge.tool和mergetool的配置才能设置自定义合并工具。

      查看这篇文章,它给出了您需要运行的确切 git config 命令:Git on Windows: How do you set up a mergetool?

      【讨论】:

      • 感谢回复所以我现在使用这个配置: [merge] tool = MyMerger [mergetool "MyMerger"] cmd = "\"C:\\...\\MyMerger.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\"" 但效果不好。我还想念什么吗?谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2013-04-19
      • 2016-12-02
      • 2019-11-05
      • 1970-01-01
      • 2021-10-09
      相关资源
      最近更新 更多