你如何删除Microsoft Git Provider?

时间:2014-03-17 16:30:57

标签: git visual-studio-2013

我遇到VS2013的问题,我已连接到我的visual studio在线帐户,并且在我安装Git之前使用TFS源代码控制就好了。现在看来," Microsoft Git Provider"即使在我手动将其更改回TFS之后,仍然会覆盖我的源代码控制设置,或者没有TFS。所以现在我只想将它们全部删除。我尝试卸载Git相关的所有内容,但它仍然存在。我甚至完全卸载了VS2013,然后重新安装,它仍在那里。

5 个答案:

答案 0 :(得分:16)

我使用procmon看到当切换到Microsoft Git Provider时,visual studio正在访问这个dll。

“C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider.dll”

我编辑了dll的权限,以便用户“Everyone”没有权限,并且每次启动时VisualStudio都停止切换回“Microsoft Git Provider”。 这样做意味着即使您尝试为当前的源代码控制插件选择“Microsoft Git Provider”,它也不会执行任何操作,而只是显示您之前的选择。

答案 1 :(得分:11)

更新2:

这是一个在打开git解决方案时禁用MS Git提供程序的扩展: http://visualstudiogallery.msdn.microsoft.com/146b404a-3c91-46ff-932a-fb0f8b826f94

该解决方案似乎不再起作用(如博客文章中所述):

对于遇到这篇文章的人,并且由于其他原因(性能或文件只读Resharper进行重构)而想要禁用提供程序,我确实遇到了这个注册表hack以永久删除MS GIT源代码控制提供程序:

https://blog.rendle.io/disable-the-git-source-control-add-in-in-vs2013-permanently/

tl;博士:

  • 关闭VS2013 然后删除整个密钥(或其下面带有GitSCCProvider值的密钥):

  • HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\SourceControlProviders\{11b8e6d7-c08b-4385-b321-321078cdd1f8}

  • 在注册表中搜索相同的GUID 11b8e6d7-c08b-4385-b321-321078cdd1f8并删除这些值或条目 太

修改

如果您需要使用TFS GIT存储库和团队资源管理器中的相关信息(如构建等),请不要删除GIT SCC提供程序,因为它也会中断。

答案 2 :(得分:3)

谢谢@ Ade-Miller,这实际上是我需要听到的。

原来我的问题是我正在使用的项目的父级文件夹之一被设置为Git中的repo:C:\ users [me]。不确定是怎么回事。但显然VS并不想在这种情况下弄清楚你到底发生了什么,即使项目本身已经设置为使用TFS。从顶级文件夹中删除“.git”文件夹使一切开始变得更好。

答案 3 :(得分:1)

以下为我做了诀窍(来源:http://researchaholic.com/2015/02/02/remove-the-microsoft-gitprovider-from-visual-studio-2013/

请注意我添加的两个额外步骤:
1.我确实通过在删除之前导出所有注册表项来备份它们 2.我还删除了{11b8e6d7-c08b-4385-b321-321078cdd1f8}的所有实例

  • 确保Visual Studio已关闭
  • 打开注册表
  • 导航至HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 12.0_Config \ SourceControlProviders
  • 删除11b8e6d7-c08b-4385-b321-321078cdd1f8
  • 在详细信息窗格中,它应该显示GitProvider
  • 打开Visual Studio

答案 4 :(得分:0)

再次运行安装程序......

就我而言,安装程序为Microsoft.TeamFoundation.Git.Provider.msi并选择remove选项。