如何永久禁用Visual Studio 2013中的Git集成?

时间:2014-01-15 22:57:56

标签: git visual-studio-2013

我知道您可以使用“工具/选项”对话框禁用git集成,但我注意到这个设置似乎不会在会话中持续存在;即,一旦关闭并重新打开解决方案,就会再次启用Git集成。我猜Visual Studio正在我的解决方案文件系统树中看到.git文件夹。

当启用Git插件时,有各种各样的Visual Studio 2013插件表现不正确,我更喜欢在命令行管理我的源代码控制,而我正在处理一些Git集成的非常大的项目在打开和使用解决方案时引入明显的减速。我想把它关掉,因为我根本就不使用它或者不需要它。这可能吗?

21 个答案:

答案 0 :(得分:86)

正如您所说,您可以禁用源代码管理插件:

  • 工具/选项
  • 选中“显示所有设置”
  • 源代码管理/插件选择
  • 将“当前源控制插件”设置为“无”

然后,正如Ade Miller所说:重新启动Visual Studio。

我的Visual Studio工作非常慢,因为git插件已启用,我设法在执行此步骤后“持续跨会话”禁用它。

希望它有所帮助。

答案 1 :(得分:19)

对我来说,使用以下命令创建存储库可以解决问题:

git init --separate-git-dir _git

由于它没有创建.git 目录,只有.git 文件指向真实存储库目录,例如:

gitdir: C:/tfs/ProjectName/Main/_git

Visual Studio(至少在我使用的VS2015 Update 3中)没有注意到它!

这比环境变量更好用,因为Git Extensions(我正在使用)有问题支持,但处理完全指向.git文件夹的_git文件。

答案 2 :(得分:11)

每次加载IDE时,在VS2015中重新启用git SCC的一个原因是CodeLens。 工具/选项/文本编辑器/所有语言/ CodeLens 有一个涉及TFVS和Git的各种活动的复选框 - 选中任何git复选框会自动启用Git插件,如果它认为你正在使用git repo。

答案 3 :(得分:8)

NoGit Visual Studio extension处理此行为。

奖金:很棒的描述。

答案 4 :(得分:8)

对于Visual Studio 2015,我发现CodeLens在重新启动后重新启用了Git Source Control插件。禁用CodeLens修复此问题。

答案 5 :(得分:6)

(更新:根据我对GIT_DIR和GIT_WORK_TREE的更深入理解,此答案现在提供了一个完全有效的解决方案)

总结:Git足够灵活,您可以将.git目录移动到工作目录之外的位置,并从tfs检出文件。这使得它可以有100%干净的tfs结账,没有任何视觉工作室能够检测到的git痕迹,同时仍然能够将其作为git存储库来操作。关键是要分离git目录(git存储库存储)和工作树(你检出的源代码)。

假设您的源代码已在c:\work\someproject\tfscode中签出,并且您已在那里运行git init,例如visual studio检测到c:\work\someproject\tfscode\.git目录并导致问题。

为了让生活更加健康,请执行以下操作:

$ cd /cygdrive/c/work/someproject
$ mv tfscode/.git tfscode.git
$ echo export GIT_DIR=/cygdrive/c/work/someproject/tfscode.git >> env.sh
$ echo export GIT_WORK_TREE=/cygdrive/c/work/someproject/tfscode >> env.sh
$ source env.sh
$ cd tfscode
$ git status
...
$

这对于visual studio非常有效,因为它完全不知道存储在git中的任何东西。

答案 6 :(得分:6)

Remove the Microsoft GitProvider from Visual Studio 2015

Link: http://researchaholic.com/2015/02/02/remove-the-microsoft-gitprovider-from-visual-studio-2013/

  1. Make sure Visual Studio is closed
  2. Open regedit
  3. Navigate to HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\SourceControlProviders
  4. Delete 11b8e6d7-c08b-4385-b321-321078cdd1f8 In the details pane it should say GitProvider
  5. Open Visual Studio

答案 7 :(得分:5)

这在Visual Studio 2013和2015中适用于我。即使您关闭并重新打开Visual Studio也会保留。

  1. 打开解决方案

  2. 转到工具 - >选项 - >源控制 - >将插件设置为无

  3. 关闭Visual Studio并使用管理权限执行以下命令。

  4. move "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Git.Provider.dll" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Git.Provider.dll.bak"
    

答案 8 :(得分:4)

我设法通过删除所有这些注册表项来禁用内置的Visual Studio Git Provider:

7FE30A77-37F9-4CF2-83DD-96B207028E1B

11b8e6d7-c08b-4385-b321-321078cdd1f8

答案 9 :(得分:3)

答案 10 :(得分:3)

您需要关闭所有VS解决方案。启动一个,设置Menu \ tools \ options \ Source Control \ Git - > None,在提示时关闭此解决方案。 现在,当打开任何其他解决方案时,选项保持"无"。

答案 11 :(得分:2)

我在Visual Studio中也遇到了Git问题,但我想我终于找到了一个可行的解决方案。到目前为止,我已经使用了将.git文件夹重命名为_git并添加一个名为.git的文本文件的技巧,其中包含行“ gitdir:_git”。但是自从升级到VS2019之后,它不再起作用了。

我尝试了许多不同的解决方案,但是都没有用,因为我需要在某些项目中使用Git,而在其他项目中则不需要。我的问题项目是使用我公司的Team Foundation Server进行源代码控制。但是由于在TFS进行的不良合并中丢失了代码,因此我将更改提交到本地Git存储库,然后再更新或提交到TFS。

D:\Projects\TFS\.git VS不应该使用的本地git repo。

D:\Projects\TFS\ProjectA\$tf VS用于ProjectA的TFS文件。

无论我如何尝试,当它在父文件夹中找到一个.git文件夹时,我都无法让VS将TFS用于ProjectA。我的解决方案是将.git文件夹移至:

D:\Projects\TFS-GIT\.git

并创建到ProjectA文件夹的目录连接。启动提升权限的命令提示符并运行:

mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA

在Visual Studio中打开D:\Projects\TFS\ProjectA\ProjectA.sln,它将找不到任何.git文件夹,并且将以应有的方式连接到TFS。

D:\Projects\TFS-GIT运行git命令将使用与Visual Studio相同的文件,除了.git文件夹也可用。 TortoiseGit在此文件夹中也可以正常工作。

答案 12 :(得分:1)

VS2015在闲置时吸收了50%的CPU。我了解到禁用Git是解决方案。不幸的是,禁用Git只会自动重新启用它。

在我的情况下,我实际上想要使用Git但不使用50%的CPU使用率。

由于NoGit解决方案仅适用于VS2013,您可以改为下载: Git Source Control Provider即使你不使用Git。我的CPU使用率现在是2.2%,而不是空闲时的50%。

答案 13 :(得分:0)

我很难找到解决方案,经过这么多尝试后才能做到,所以我无法准确。 在另一个文件夹中使用GitHub Desktop创建另一个本地存储库。 完成此操作,打开Visual Studio而不加载项目,现在团队资源管理器应该显示两个存储库。 选择新的存储库,因为你应该做一些操作,在这一步你可以"删除"你的旧存储库,因为新存储库是"活跃的"一。 执行此操作后,我从前一个文件夹中删除了.hidden .git *文件。 现在打开项目不会导致再次重新创建旧存储库。 希望这会有所帮助。

答案 14 :(得分:0)

一个星期的背痛,我不知道如何在VS2015中启动此源代码控制服务。但是要知道如何阻止它。这是将git /任何源代码控制与VS2019分离的步骤。

转到VS->工具->选项->源代码控制-> [当前源代码控制插件]

您在系统中获得了所有可能的源代码控制,并且没有选项。 如果选择“无”,则一切就绪。 选择“无”选项后,我的车就固定了,单击“确定”,然后重新启动VS,并且没有其他源代码控制。

答案 15 :(得分:0)

这个git扩展地狱减慢了IDE中的所有内容(在我的情况下是VS 2015)。我不得不删除整个TeamFoundation文件夹来摆脱这个。缺点是您将无法在Visual Studio 2015中使用Git和TeamFoundation。注意:将此文件夹备份到其他位置并在需要时将其还原。

要删除我执行此操作的文件夹。 The steps i followed to delete the right folder

我这样做的原因是,VS 2015为TeamFoundation扩展生成随机文件夹名称,因此我的文件夹名称可能与您的不同。

答案 16 :(得分:0)

重命名“C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation”

VS只会显示一次错误并且正常工作。

答案 17 :(得分:0)

这很疯狂,但对我有用的是清空我的回收站(其中包含我的解决方案中不需要的.git文件夹)。

我仍然无法相信......

答案 18 :(得分:-2)

工具,选项,源代码管理,插件选择,无

答案 19 :(得分:-4)

1)紧密的解决方案和视觉工作室。 2)转到解决方案的目录并删除隐藏的git目录和2个git文本文件。 3)再次打开视觉工作室。 4)转到工具 - >选项和源代码控制。 5)选择无。 6)重启visual studio。 7)打开你的解决方案。 8)转到工具 - >选项和源控制再次选择TFS。 9)在解决方案中右键单击选择添加源控件到解决方案。 10)选择tfs。

答案 20 :(得分:-5)

将Tools \ Options \ Source Control设置回TFS。 关闭Visual Studio 2015。 打开源代码的根文件夹。 删除名为" .git"。的文件夹 重新启动。