git difftool 未按照 .gitconfig 中的配置工作
git difftool is not working as configured in .gitconfig
我正在使用 Beyond Compare 作为我的外部差异工具。当我像在其他计算机上所做的那样在 .gitconfig 中在我的新计算机上配置它时,它不起作用。如果我用太多引号指定 extcmd,那么它确实有效。
现在和以前的一个很大区别是我在我的新存储库上使用 LFS。
.git配置文件:
[diff]
tool = bc4
renameLimit = 999999
[difftool]
prompt = false
[difftool "bc4"]
cmd = 'C:/Program Files/Beyond Compare 4/BComp.exe' \"$LOCAL\" \"$REMOTE\"
不起作用(使用单引号或双引号):
$ git difftool --extcmd='C:/Program Files/Beyond Compare 4/BComp.exe' HEAD
C:/Program Files/Git/mingw64/libexec/git-core\git-difftool--helper: line 62: C:/Program: No such file or directory
fatal: external diff died, stopping at file.cs
有效:
git difftool --extcmd="'C:/Program Files/Beyond Compare 4/BComp.exe'" HEAD
我怎样才能让它工作以便我可以只使用 git difftool HEAD
?
Git LFS 是否导致了我的问题?
是不是我的新电脑配置有误导致了我的问题?
我尝试将配置中的单引号 (') 更改为双引号 ("),但这也不起作用。
我正在使用 git 版本 2.29.2.windows.2 全新安装 Windows 10.
编辑:忘了说清楚“不起作用”是什么意思:
它不会打开 Beyond Compare,但也没有错误消息。它似乎在几秒钟内什么都不做:
$ git difftool HEAD
$
我的整个 .gitconfig(以防有帮助):https://hastebin.com/icuduxecen.ini
除非您有特定原因指定完整的命令行来调用 Beyond Compare,否则请仅指定程序的路径:
[difftool "bc4"]
path = "C:/Program Files/Beyond Compare 4/BComp.exe"
注意双引号和正斜杠。
编辑:一定要删除行 cmd =
(或者将其重命名为 cmd
至 xcmdx
或者如果您不想删除它则隐藏它)。
这实际上是 git 中的一个错误,已在 v2.29.2(2) 中修复。
我正在使用 Beyond Compare 作为我的外部差异工具。当我像在其他计算机上所做的那样在 .gitconfig 中在我的新计算机上配置它时,它不起作用。如果我用太多引号指定 extcmd,那么它确实有效。
现在和以前的一个很大区别是我在我的新存储库上使用 LFS。
.git配置文件:
[diff]
tool = bc4
renameLimit = 999999
[difftool]
prompt = false
[difftool "bc4"]
cmd = 'C:/Program Files/Beyond Compare 4/BComp.exe' \"$LOCAL\" \"$REMOTE\"
不起作用(使用单引号或双引号):
$ git difftool --extcmd='C:/Program Files/Beyond Compare 4/BComp.exe' HEAD
C:/Program Files/Git/mingw64/libexec/git-core\git-difftool--helper: line 62: C:/Program: No such file or directory
fatal: external diff died, stopping at file.cs
有效:
git difftool --extcmd="'C:/Program Files/Beyond Compare 4/BComp.exe'" HEAD
我怎样才能让它工作以便我可以只使用
git difftool HEAD
?Git LFS 是否导致了我的问题?
是不是我的新电脑配置有误导致了我的问题?
我尝试将配置中的单引号 (') 更改为双引号 ("),但这也不起作用。
我正在使用 git 版本 2.29.2.windows.2 全新安装 Windows 10.
编辑:忘了说清楚“不起作用”是什么意思: 它不会打开 Beyond Compare,但也没有错误消息。它似乎在几秒钟内什么都不做:
$ git difftool HEAD
$
我的整个 .gitconfig(以防有帮助):https://hastebin.com/icuduxecen.ini
除非您有特定原因指定完整的命令行来调用 Beyond Compare,否则请仅指定程序的路径:
[difftool "bc4"]
path = "C:/Program Files/Beyond Compare 4/BComp.exe"
注意双引号和正斜杠。
编辑:一定要删除行 cmd =
(或者将其重命名为 cmd
至 xcmdx
或者如果您不想删除它则隐藏它)。
这实际上是 git 中的一个错误,已在 v2.29.2(2) 中修复。