Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将现有本地工作目录的git版本控制与Visual Studio代码结合起来?_Git_Visual Studio Code_Cygwin - Fatal编程技术网

如何将现有本地工作目录的git版本控制与Visual Studio代码结合起来?

如何将现有本地工作目录的git版本控制与Visual Studio代码结合起来?,git,visual-studio-code,cygwin,Git,Visual Studio Code,Cygwin,直到最近,我一直通过安装在Cygwin中的git在Windows机器上维护各种编码项目的版本控制。我现在正在转换到VisualStudio代码作为文本编辑器(我仍然计划通过命令行编译,至少现在是这样) 为了尽量减少双重安装,我将VS Code的git.path变量设置为Cygwin目录中的git可执行文件。然而,我有一个问题,VS代码似乎无法识别我已经存在的本地git工作目录,即使在根目录级别打开VS代码中的文件夹(我在网上搜索过,只在一年或两年前进行了讨论,认为这是必要的)。当我单击源代码管理

直到最近,我一直通过安装在Cygwin中的git在Windows机器上维护各种编码项目的版本控制。我现在正在转换到VisualStudio代码作为文本编辑器(我仍然计划通过命令行编译,至少现在是这样)

为了尽量减少双重安装,我将VS Code的git.path变量设置为Cygwin目录中的git可执行文件。然而,我有一个问题,VS代码似乎无法识别我已经存在的本地git工作目录,即使在根目录级别打开VS代码中的文件夹(我在网上搜索过,只在一年或两年前进行了讨论,认为这是必要的)。当我单击
源代码管理
选项卡时,我看到
没有活动的源代码管理提供程序

有没有办法不必通过VS代码克隆重复/替换工作目录,并强制它使用已克隆的工作目录?我知道我可以继续使用Cygwin for git,只需将VS Code用作文本编辑器,但我希望能够使用VS Code的一些有用的git功能。

只需使用Cygwin而不是Cygwin:您可以在任何地方解压

然后VSCode将识别您现有的存储库,而不会出现任何问题。
将其与相结合,您可以直接从编辑器执行大部分Git操作


注意:如果您真的必须使用Cygwin,报告(作者):

我的解决方案是安装Git for Windows,然后使用mklink将Cygwin
.ssh
目录链接到
%USERNAME%/.ssh
以共享配置和ssh密钥。
然后,两个Git都可以访问相同的ssh密钥和ssh配置以进行多个密钥使用。
还将
Cygwin\bin
path放在%path%环境变量的第一位

同样的问题也提到了

这实际上为Windows提供了一个Git。您只需要Cygwin及其包

我曾经在Windows10上尝试过VSCode的Go插件,发现它隐式地需要Git for Windows。但是,它是多余的,因为我已经安装了Cygwin及其git包。所以我写了这个代理和包装器

建议



如果您使用的是Windows 10,我建议您安装Git(Linux原始版本)。

谢谢您的回复。我不清楚为什么安装Git for Windows会带来不同,因为我已经在Cygwin中设置了VS Code的Git.path到Git可执行文件。Git for Windows是否正确配置了其他变量/选项,以允许VS代码正确识别现有的本地工作目录?另外,我不希望有两个git安装和两个单独的配置——你能想出解决这个问题的办法吗?谢谢@PhysicCodingUsast您在使用Git的Windows上不需要Cygwin。@PhysicCodingUsast您使用Cygwin所做的任何事情都应该可以在Git for Windows上使用。@PhysicCodingUsast解决方法是:首先不要使用Cygwin,将您的global.gitconfig复制到您的%USERPROFILE%文件夹中,这样您就可以开始了。是的,这是正确的。尽管我在命令行bashshell中使用了Cygwin以及它为我提供的所有便利。所以在Cygwin中也使用git是很自然的,因为这是以前我与代码的主要交互点。那会有帮助吗?