VS Code生成windows风格的路径; cygwin git 需要 unix 风格的路径——致命的“外部存储库”错误

问题描述 投票:0回答:1

迁移到 Visual Studio Code,我在从 IDE 生成 git 命令的方式上遇到问题(源代码控制面板,+ 符号添加到存储库)。出现这样的错误:

> git add -A -- C:\Projects\zwm\uniq.py
fatal: C:\Projects\zwm\uniq.py: 'C:\Projects\zwm\uniq.py' is outside repository at 
'/cygdrive/c/Projects/zwm'

显然我正在尝试使用 Cygwin 的

git
版本。找到 git.exe 没有问题,它在路径中。如果我只是从 cmd 窗口中
add -A uniq.py
,Git 就可以正常工作。

我可以让 VS Code 生成 cygwin 风格的正斜杠路径吗?或者停止在存储库中使用文件的绝对路径?似乎在设置中找不到解决此问题的任何内容。

这是否是一个“终端”问题,因为 VS Code 必须打开终端会话才能运行 git?这个设置似乎没有什么区别:

"terminal.integrated.defaultProfile.windows": "Cygwin"
这个有希望的答案中的设置也没有:
"terminal.integrated.profiles.windows": { "Cygwin": { ...
。我还没有尝试过来自github的这个建议,关于设置
"terminal.integrated.profiles.windows": { "bash (MINGW64-MSYS2)": { ...
,尽管它似乎是在谈论使用具有bash风格路径的终端。

或者...我应该使用其他版本的 git 为 Windows 构建,接受反斜杠分隔的路径?

使用 Windows 11、VS Code 1.85.2、git 2.42.1。

更新:如果我手动 git 添加文件,VS Code 足够智能,可以更新文件的状态(从 U 到 A)。我可以在输出窗口中看到 git-show 命令,例如

git show --textconv :4x4word.py
。那么为什么 VS Code 在发出 git-show 命令时是智能的,但在生成 git-add 时却是愚蠢的

git visual-studio-code cygwin
1个回答
0
投票

也许这个针对精确问题的霰弹枪答案可能会有所帮助:尝试在您正在开发的兼容性环境中运行 VSCode。

首先,您是否已加入 CygWin

如果没有,也许结账WSLmingw

然后您可以(很可能)通过以下方式完全避免路径问题:

© www.soinside.com 2019 - 2024. All rights reserved.