Git 未使用合并驱动程序
Git merge driver is not used
我有两个分支 b1 和 b2,如下所示:
我的仓库
|- .git
|---|- 配置
|- .git属性
|- D1
|---|- foo.xml
在git\config中,我有这样的配置:
[merge "MyMerger"]
name = My merger
driver = MyMerger.exe %B %A %O
MyMerger.exe存在于Path环境变量
然后,在 .git 属性中,我有这个:
/D1/foo.xml merge=MyMerger
但是当我尝试合并 B1 和 B2 以及两个分支中 foo.xml 的更改时,它失败了:
自动合并D1/foo.xml
CONFLICT(内容):合并 D1/foo.xml
中的冲突
自动合并失败;解决冲突,然后提交结果。
我还尝试使用此配置移动 D1 中的 .git 属性:
foo.xml merge=MyMerger
但它也失败了。
我错过了什么?
谢谢
我相信您必须具有 merge.tool
和 mergetool
配置才能设置自定义合并工具。
查看此 post,它提供了您 运行 所需的确切 git config
命令:Git on Windows: How do you set up a mergetool?
只要你的 .gitattributes 中没有 BOM,我的初始配置就可以正常工作
我有两个分支 b1 和 b2,如下所示:
我的仓库
|- .git
|---|- 配置
|- .git属性
|- D1
|---|- foo.xml
在git\config中,我有这样的配置:
[merge "MyMerger"]
name = My merger
driver = MyMerger.exe %B %A %O
MyMerger.exe存在于Path环境变量
然后,在 .git 属性中,我有这个:
/D1/foo.xml merge=MyMerger
但是当我尝试合并 B1 和 B2 以及两个分支中 foo.xml 的更改时,它失败了:
自动合并D1/foo.xml
CONFLICT(内容):合并 D1/foo.xml
中的冲突
自动合并失败;解决冲突,然后提交结果。
我还尝试使用此配置移动 D1 中的 .git 属性:
foo.xml merge=MyMerger
但它也失败了。
我错过了什么?
谢谢
我相信您必须具有 merge.tool
和 mergetool
配置才能设置自定义合并工具。
查看此 post,它提供了您 运行 所需的确切 git config
命令:Git on Windows: How do you set up a mergetool?
只要你的 .gitattributes 中没有 BOM,我的初始配置就可以正常工作