.gitconfig中的mergetool被忽略了?

8

git config --global mergetool.bc3 "\"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""

git mergetool

/usr/lib/git-core/git-mergetool--lib: line 116: bcompare: command not found

这很奇怪,因为./.git/config~/.gitconfig都看起来正确。两者都没有列出bcompare的条目。Git有没有从除了.git/config~/.gitconfig之外的其他地方读取或存储配置的能力?

2个回答

15

看起来和这个人遇到的问题一样。似乎bc3是一个内置工具名称,git不允许覆盖该名称。尝试使用除bc3以外的名称。

我使用了"BeyondCompare3"

[mergetool "BeyondCompare3"]
    path = C:/Program Files/Beyond Compare 3/bcomp.exe
    cmd = \"C:/Program Files/Beyond Compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"

1
那恰好解释了发生了什么。 - Stefan Kendall

0
如果您需要覆盖合并工具的路径,只需设置变量mergetool.<tool>.path
可以使用mergetool.<tool>.cmd指定自定义合并工具(对于Beyond Compare 3来说这不是必要的),但形式为mergetool.<tool>的变量在git mergetool中没有意义。如果从文档中引导您尝试此操作,请指出位置以便进行修复。

如果你的cygwin用尽了,这是必要的。 - Stefan Kendall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接