gpt4 book ai didi

windows - 在 PowerShell 中使用 Git for Windows 时使用插入符号 (^)

转载 作者:可可西里 更新时间:2023-11-01 12:43:14 27 4
gpt4 key购买 nike

我在 PowerShell 的命令行中使用 git,我正在尝试使用类似的东西

git difftool HEAD^

Powershell 似乎将此视为我输入

git difftool HEAD

所以插入符号消失了。如果我使用插入符号的多个副本,我会收到一个奇怪的错误:

git difftool HEAD^^
fatal: ambiguous argument 'HEAD@set': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions

有趣的是,连续使用四个插入符似乎转义为一个,所以 git difftool HEAD^^^^ 的工作方式与我期望的 git difftool HEAD^ 一样.

我试过用单引号、双引号、重音符来转义插入符号,但似乎没有任何帮助。

这是 PowerShell 的一项功能,还是我的设置有误?

最佳答案

我发现了问题,这是我的设置 :(

我使用的是 Windows 版 Git,它在/bin 文件夹中提供 git.exe,在/cmd 文件夹中提供 git.cmdgit.cmd 是一个批处理脚本,它包装了 git.exe 并执行一些其他操作。

这两个目录都在我的 PATH 中,/cmd 在前面,所以当我键入 git 时,git.cmd 正在运行。因为这是批处理脚本,所以无法使用插入符号。在 cmd 世界中,通过键入其中两个 (^^) 来转义插入符号。

我猜这不知何故被要求两次,所以四个插入符将被转义为两个,然后是一个(我不太明白这一点)。当使用两个或三个插入符号时,我也不理解错误消息。

教训是……

仅在将 Git for Windows 与 PowerShell 结合使用时使用 git.exe!

关于windows - 在 PowerShell 中使用 Git for Windows 时使用插入符号 (^),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9600549/

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