更新了Visual Studio 2022后,项目不再受Git控制。

19

运行 Visual Studio 安装程序以进行以下操作:

  1. 添加了“使用 C++ 的桌面开发”
  2. 将 VS 更新到最新版本 17.1.4

现在当我加载任何项目时,它不再处于源代码控制下。在 Git 输出窗口中,我得到了一个非常有用的“发生了一个或多个错误”的提示。

输入图像描述

使用 Bitbucket 作为源代码控制提供者。

我尝试进入 Git 菜单,但唯一启用的选项是创建仓库或连接本地仓库。 我尝试连接本地但没有结果。

是否有一种方法可以找出错误是什么?


3
此问题正在微软进行调查。您可以在此处对其进行投票和关注: https://developercommunity.visualstudio.com/t/Git-Error-after-1714-update/10012565 - JamesF
9个回答

7

在将VS更新到17.1.4后,我无法连接到Git存储库,并在Git输出中收到“发生一个或多个错误”的消息 - 只在部分存储库上出现,而不是全部。

我没有使用Atlassian Bitbucket源代码控制服务。

在以管理员身份运行VS 2022时,可以连接到Git存储库而不出现错误。


1
确认 - 这个解决方案对我也有效。 - JamesF
对我不起作用。一个注意点:我的解决方案在不同的驱动器(D)上,而不是我的git安装位置(C)。 - Enrico
对我也起作用了。这是您始终以管理员身份打开VS的方法:https://dev59.com/RGkw5IYBdhLWcg3wx9eC - Fernando Lopes

7

在更新到 17.1.5 后我遇到了同样的问题。

我检查了本地代码库和项目(工作树)文件夹的所有权。

将所有权设置为自己后,问题得到了解决。

进行以下操作:

  1. 右键单击包含 工作树.git 文件夹的文件夹。
  2. 点击 属性
  3. 进入 安全 选项卡。
  4. 点击 高级 按钮。
  5. 点击更改所有者的 更改 按钮。
  6. 选择你的 用户名
  7. 勾选 替换子容器和对象的所有者
  8. 点击 应用确定

这样VS就可以打开本地代码库了。


这可能不是大型企业网络的正确解决方案,但当您可以看到先前的开发人员是目录的所有者时,这是快速简单的解决方案。 - EllieK

3

问题已解决。 1- 首先安装GitHub桌面版 2- 将本地仓库添加到GitHub桌面版 3- 完成所有步骤,现在在Visual Studio中打开项目


2
我尝试了“以管理员身份运行”、“git config --global --add safe.directory /path/to/repo”和其他答案,但只有安装Github桌面版并将本地仓库添加到其中才起作用。 - Mehmet

2

我运行了以下命令,现在我的问题已经解决。
打开cmd然后运行以下命令:

git config --global --add safe.directory /path/to/repo

2

遇到了同样的问题。看起来与GIT的安全更新有关(请参见文章)。

在我的情况下,这个问题经历了几个阶段。

  • 我没有更新GIT,但是将VS升级到17.1.4,然后在IDE中出现了问题,但CLI正常工作。
  • 发现上面的信息并更新了GIT。问题仍然存在于VS中,CLI明确要求我输入一个命令:git config --global --add safe.directory /path/to/repo,这个命令可以解锁CLI和VS上的功能。

因此,在CLI中运行git updategit update-git-for-windows。这可能不是必需的,但我重启了计算机。


1

当VS2022更新到17.1.14版本时,我遇到了相同的问题。@Ken Bonnin Jr的解决方案可以解决这个问题。具体来说,我需要在包含.git文件的每个位置运行以下代码。

git config --global --add safe.directory %(prefix)/Path

路径是指带有符号'/'的.git文件中的地址。


确保您不包含尾部斜杠,否则将无法正常工作。例如,git config --global --add safe.directory C:/Users/Public/repos 是正确的,但是 git config --global --add safe.directory C:/Users/Public/repos/ 不是。后者会被添加到配置文件中,但您仍可能在Visual Studio中遇到错误。 - Dan Stevens

1

很奇怪,我刚刚更新了Git并以管理员身份运行,问题解决了。


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Cristik

1

自从更新了 Visual Studio 以后,从 Visual Studio 内部使用 Git 就出现问题了。

已经更新了 Sourcetree Git、System Git,删除并重新创建仓库等操作,但仍然持续出现错误:"One or more errors occurred."

我决定回到在 Visual Studio 外部使用 Sourcetree 进行 SCC,并等待修复 - 或者不修复 - 视情况而定。

顺带一提:这只是一个本地仓库,没有远程仓库:可能与 Sourcetree 在 Windows 凭据存储中存储的凭据有关,即凭据助手或其他类似工具。

(相比于浪费时间来修复别人有问题的 SCC 互操作工具,还有更好的软件开发事情要做:咳嗽(微软),再咳嗽。)


0

我尝试了@UchiTesting的两个建议,并在我们的github托管存储库中取得了一些成功。我的原始代码文件夹在17.1.4之前都工作正常。

这似乎重新连接了VS和github

  • 以管理员身份启动VS 17.1.4
  • 菜单> Git> 克隆存储库到新文件夹
  • 注意存储库信息是正确的
  • 关闭VS并以管理员身份重新启动
  • 直接打开解决方案文件

克隆中似乎保留了存储库和分支信息,但仅限于管理员。以非管理员身份打开此新克隆似乎不会带来相同的结果。

关于在17.1.4升级后停止工作的原始文件夹(我始终以管理员身份运行),我按照git update-git-for-windowgit config --global --add safe.directory /path/to/repo的步骤进行了操作。

现在以管理员身份打开原始文件夹可以记住git信息。


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