Visual Studio 2017 - Git因致命错误而失败

Tob*_*oby 134 git visual-studio azure-devops visual-studio-2017

我正在使用Visual Studio 2017社区版(CE),我已登录到我的Microsoft帐户,并且我已连接到VSTS.我可以看到我的所有项目和存储库,但是当我尝试提取/获取/推送任何更改时,我收到以下错误:

Error encountered while pushing to the remote repository: Git failed with a fatal error.
PushCommand.ExecutePushCommand
Run Code Online (Sandbox Code Playgroud)

因此对于fetch和pull命令也是如此.

我在Visual Studio 2017安装程序上安装了Git for Windows,它不仅无法使用VSTS,我也无法使用任何GitHub存储库.有没有其他人注意到这一点?到目前为止,我的两台机器都发生过这种情况.

Visual Studio 2015企业版(EE)和CE对我来说完全没问题.

似乎这个问题得到了更多的认可,我认为这会让我相信这是Visual Studio如何处理Git的问题.我也注意到每次更新Visual Studio时,这个问题都会重新出现,我必须完成以下一些答案中的步骤才能让Git再次工作.我不确定为什么会这样,我也不知道微软是否打算解决这个问题.

Tob*_*oby 66

我将在这里添加一个解决方案,以前的答案还没有提到过,但这就是为我解决的问题.

  1. 导航到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\并删除该Git文件夹.

  2. 确保您的系统上没有安装Git版本,通过转到控制面板程序和功能将其删除(TortoiseGit不需要从我的经验中删除,只需要本机git安装).

  3. 打开Visual Studio 2017安装程序并在安装选项中取消选中"Git For Windows".

  4. 前往Git网站并安装最新版本的Git for Windows.

  5. 返回Visual Studio安装程序并再次勾选"Git for Windows".它不会下载新版本,即使它看起来像它.完成之后,你的Git应该可以使用VSTS和TF Explorer.

  • 我已经安装了git for windows.执行步骤1和步骤5为我做了. (8认同)
  • 咳 - 或**企业**而不是上述路径中的**社区**;-) (4认同)
  • 做1,2,3,5步骤对我有用. (3认同)
  • 对我来说,我需要的只是第 1 步。(VS 2017 Enterprise,已经安装了适用于 Windows 的 git。)我先退出 Visual Studio 2017,删除该 GIT 文件夹,然后重新加载 VS 2017,一切正常。从“C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer”中删除了“git”文件夹 (3认同)

小智 66

我从控制面板用户帐户Git的凭据管理器更改了通用凭据后,它对我有用.

在此输入图像描述

  • 我刚刚删除了通用凭据下的 git 链接,它起作用了。 (3认同)
  • 要访问“凭据管理器”,只需在 Windows 10 中搜索它(使用 windows 键)。然后单击 Windows 凭据。向下滚动到 Generic Credential 部分并查找 `git: https://your.tfs.server`。更改 Windows 密码后收到此错误。 (3认同)
  • 这对我有用。似乎也是所有建议解决方案中最简单的 (2认同)

小智 40

我有一个不同的问题.我的电脑包含旧的OpenSSL的DLL文件在SYSTEM32和SYSWOW64所以要解决我的问题,我不得不复制 libeay32.dllssleay32.dll从一个文件夹到Visual Studio 2017年的Git的文件夹内的另一个文件夹.

FROM:C:\Program Files (x86)\Microsoft Visual Studio\2017\vs_edition\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\

TO:C:\Program Files (x86)\Microsoft Visual Studio\2017\vs_edition\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core

参考:Git - 无法克隆远程存储库

  • 这对我有用,但是你在哪里找到了线索? (6认同)
  • 没用.2017企业版15.5.6 (3认同)

Ang*_*Sky 14

我尝试了很多,最后得到它与我在Git中读到的一些修改- 无法克隆远程存储库:

  1. 修改Visual Studio 2017 CE安装→删除Git for windows(安装程序→修改→单个组件).

  2. 删除所有内容C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git.

  3. 修改Visual Studio 2017 CE安装→添加Git for windows(安装程序→修改→单个组件)

  4. 在Windows(32或64位版本)上安装Git,在系统路径中配置Git.

也许不需要第2点和第3点; 我没试过.

现在它在我的Gogs上运行正常.


Jer*_*yal 11

这是我得到的错误:

Git failed with a fatal error.
pull --verbose --progress --no-edit --no-stat --recurse-submodules=no origin
Run Code Online (Sandbox Code Playgroud)

我尝试了所有以前的方法,但它们没有用.后来我发现代码中存在一些冲突(参见Visual Studio 2017输出窗口).

我只是还原了代码并且它有效.


小智 7

当我尝试同步存储库时,我曾经遇到过Git这样的错误(我试图在我的同事挂起更改的同时发送我的提交):

Git因致命错误而失败.pull --verbose --progress --no-edit --no-stat --recurse-submodules = no origin

事实证明,在按下Commit all按钮创建本地提交后,Visual Studio已经保留了一个未提交的文件,这个详细的错误消息实际上意味着:"提交所有更改".

丢失的文件是Entity Framework 6模型,它通常显示为未提交的文件,尽管您没有更改其中的内容.

您可以执行全部提交或撤消未提交的所有更改.

  • 我的情况与此类似.我有一个问题,VS 2017(15.3.2)的新版本突然不断让我检查这个奇怪的storage.ide文件.关闭/打开VS后我不得不继续提交该文件,并且最终有效.免责声明 - 我也完成了上述最常见答案中的步骤. (2认同)

Vor*_*456 5

我遇到过同样的问题。以下步骤为我解决了这个问题:

  1. 备份并删除“C:\Program Files (x86)\Microsoft Visual Studio 14.0\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git”
  2. 安装最新版本的 Git: https: //git-scm.com/download/win

  • 我有两台机器。两者都带有 VS2017RTM。相同版本的 VS 和相同版本的 GitHub.VisualStudio。TeamExplorer 文件夹中都没有 Git 文件夹。一种有效,一种无效。:( (2认同)

GGl*_*and 5

这似乎发生在VS 2017中,当有一个与pull相冲突的挂起提交时.如果你去一个命令终端并做一个"git pull origin",你通常会得到错误的来源.要解决这个问题,请检查VS 2017中的所有更改,然后再次尝试从2017 2017开始拉动或同步.不用说......这不是VS 2017中的预期行为.


小智 5

Control Panel\All Control Panel Items\Credential Manager==> Windows Credentials 删除Git:http:// ........

然后重试。

请享用 !