未使用Git合并驱动程序

未使用Git合并驱动程序,git,merge,git-merge,Git,Merge,Git Merge,我有两个分支b1和b2,如下所示: MyRepo |-.git |---|-配置 |-.gittributes |-D1 |---|-foo.xml 在git\config中,我有以下配置: [merge "MyMerger"] name = My merger driver = MyMerger.exe %B %A %O foo.xml merge=MyMerger MyMerge.exe存在于Path环境变量中 然后,在.gittributes中,我有以下内容: /D1/

我有两个分支b1和b2,如下所示:

MyRepo
|-.git
|---|-配置
|-.gittributes
|-D1
|---|-foo.xml

在git\config中,我有以下配置:

[merge "MyMerger"]
    name = My merger
    driver = MyMerger.exe %B %A %O
foo.xml merge=MyMerger
MyMerge.exe存在于Path环境变量中

然后,在.gittributes中,我有以下内容:

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

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

我还尝试使用以下配置移动D1中的.gittributes:

[merge "MyMerger"]
    name = My merger
    driver = MyMerger.exe %B %A %O
foo.xml merge=MyMerger
但它也失败了

我错过了什么


谢谢

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


查看这篇文章,它给出了您需要运行的确切命令:

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

谢谢您的回复,所以我现在使用这个配置:[merge]tool=mymerge[mergetool“mymerge”]cmd=“\”C:\\…\\mymerge.exe\“\$REMOTE\”\“$LOCAL\”“$BASE\”,但效果并不好。我还错过了什么吗?谢谢