gpt4 book ai didi

git - `git difftool` 和名称文件中的空格

转载 作者:太空狗 更新时间:2023-10-29 13:11:04 26 4
gpt4 key购买 nike

看来git difftool执行外部命令时,没有正确引用参数。

如果 .gitconfig 包含以下几行:

[difftool.echo]
cmd = echo "$LOCAL" "$REMOTE"

当我尝试使用包含空格的路径运行 difftool 时,例如

> git difftool -t echo HEAD^ HEAD spaces\ here/test.txt

我得到以下结果:

/tmp/RL2Nyi_test.txt spaces here/test.txt

如您所见,文件名未被引号括起来(尽管命令中有显式引号),因此参数解析失败。删除 .gitconfig 中的引号(编辑:以及将它们转义为 \")不会改变结果。

(通过用任何 diff 程序替换 echo,您将获得更有意义的用例)。

如何正确转义文件名?

最佳答案

您需要在 .gitconfig 中对命令周围的引号进行转义:

cmd = difftoolname \"$LOCAL\" \"$REMOTE\"

关于git - `git difftool` 和名称文件中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21087026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com