Visual Studio未能识别Git仓库。

20
在使用Visual Studio 2022打开我的已存在于Git仓库中的ASP.NET Core项目时,Git仓库没有被加载。但是,从GitHub上克隆该项目的全新仓库可以正常工作。同时,打开其他具有Git仓库的项目也能正常工作。可能出现了什么问题?

1
你能在命令提示符中打开那个文件夹,运行git status命令,并告诉我们它的输出吗? - Dan Csharpster
所以,导致这个问题的是项目本身的某些东西。 - Raj Narayanan
关于.git文件夹的问题很奇怪。我建议使用类似WinMerge的比较工具,比较这两个文件夹以查找差异。 - Dan Csharpster
@DanCsharpster 我正在打开 .sln 解决方案文件。我将使用一个差异工具来查看区别。 - Raj Narayanan
2
你更新了最新版本的Visual Studio吗?我猜它对我也是坏的。我更新了VS 2022,但它也无法识别我的repo。在2019中它运行良好,但在2022中不行。 - Pankaj Nikam
显示剩余8条评论
5个回答

22

在升级到最新版本的VS2019后,我遇到了相同的问题,并查看了"源代码控制-Git"的输出,发现由于没有访问权限而出现致命错误的消息,并建议运行以下命令:

git config --global --add safe.directory path/to/repo
在运行它并重新启动VS2019之后,它能正常工作。

6
值得一提的是,“path/to/repo”必须使用(Unix风格)正斜杠而不是(Windows风格)反斜杠进行指定。 - Mort
1
这对我有用。值得注意的是,该命令需要在以管理员身份运行的命令提示符中运行。此外,我从输出>源代码控制-Git窗口复制粘贴了完整的命令。建议使用'而不是"来包装目录的命令。我遇到了一个git错误:error: wrong number of arguments, should be 2 我确定这个错误是因为我的目录中有一个空格。我将单引号替换为双引号,然后它就可以工作了。 - Trevor Vance

10

我在Win10下运行VS2022时遇到了同样的问题。 问题是包含解决方案和git数据的文件系统目录的所有权已更改为管理员。将所有权重新更改回我的普通Windows用户帐户后,一切都正常了。


在我的情况下,这是因为我的用户帐户更改了域,而Windows没有意识到这两者是等效的。但是,这个答案给了我足够大的线索,让我知道问题出在哪里 - 谢谢。 - undefined

10
如果你以管理员身份运行 VS 2022,它应该会正确加载所有内容。

我曾经授权启动VS作为管理员的选项。然后稍后更新了VS,git停止工作了。但是你的答案帮助我找出了原因——更新后,我必须再次设置选项以管理员身份启动VS。谢谢。 - kosist
请注意,这是一个巨大的安全风险。Visual Studio运行各种代码,包括您自己编写的代码和任何第三方依赖包... 最好不要给予Visual Studio太多权限。 - Sjlver
@Sjlver,没错,但在大多数情况下,如果您想调试应用程序,您仍然需要以管理员身份运行它。如果您对VS在后台运行的内容有任何疑虑,您应该小心选择要添加到解决方案中的软件包。 - dpdragnev
1
@dpdragnev,大多数应用程序都可以在没有管理员权限的情况下进行调试。无论如何,其他解决方案更好;用户应该拥有自己的项目目录。 - Sjlver

6

在我的情况下,该项目使用管理员权限在控制台中进行了克隆。在控制台中一切都很好,但Visual Studio无法读取.git文件夹。

实际上,文件夹对于为所有子对象分配的Authenticated Users组具有足够的权限,但是Visual Studio仍然无法看到.git文件夹。

只有在将项目文件夹和所有子对象的所有者更改为当前帐户后,Visual Studio才能看到.git

步骤:

  1. 打开项目文件夹的属性。
  2. 在安全选项卡中选择“高级”按钮。
  3. 选择“所有者”选项卡和“更改”按钮。
  4. 在列表中选择您的帐户并勾选“替换子容器和对象上的所有者”。
  5. 点击应用

我最初在以管理员身份运行VS时克隆了我的存储库,但在尝试以非管理员身份运行时,什么也没有加载。这些步骤完美地解决了问题,现在VS 2022可以看到我的git存储库。 - TaylorD
对我起作用了。同样的问题。管理员用户。我强制将权限设置为我的Windows用户,并将VS设置为始终以管理员权限运行。看来解决了问题。真希望VS / Win 11能够报告"用户权限错误",以便用户更快地识别权限问题。 - Tomas Beblar

2

我遇到了同样的问题。

Visual Studio Code和Git bash正确识别了仓库,但是Visual Studio 2022没有。

我在系统中安装了最新版本的Git,然后Visual Studio正确地识别了Git仓库。


有趣的是,在这里提出的所有解决方案中,更新git是唯一有效的解决方案。 - Markus Sabin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接