如何在 VisualStudio2013中永久禁用 Git 集成?

我知道您可以通过使用 Tools/Options 对话框来禁用 Git 集成,但是我注意到这个设置似乎不能跨会话持久化; 也就是说,只要关闭并重新打开解决方案,Git 集成就会再次启用。我猜 Visual Studio 看到了。解决方案文件系统树中的 git 文件夹。

有很多 Visual Studio 2013插件在启用 Git 插件时会出现不正常的行为,我更喜欢在命令行管理源代码控制,并且我在一些非常大的项目中工作,对于这些项目,Git 集成在打开和使用解决方案方面引入了明显的减速。我想永远关掉它,因为我根本不用它,也不需要它。这可能吗?

56176 次浏览

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

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

11b8e6d7-c08b-4385-b321-321078cdd1f8

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

如你所说,你可以禁用源代码控制插件:

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

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

自从启用了 git 插件之后,我的 Visual Studio 工作得非常慢,我按照下面的步骤设法“持久地跨会话”禁用了它。

希望能有帮助。

(更新: 根据我对 GIT _ DIR 和 GIT _ WORK _ TREE 的深入理解,这个答案现在提供了一个完全可行的解决方案)

简介: Git 非常灵活,您可以将 .git目录移动到工作目录之外的位置,并从 tfs 签出文件。这使得100% 干净的 tfs 检出成为可能,而不会留下任何 Git 的痕迹,而 Visual Studio 能够检测到这些痕迹,同时仍然能够将其作为 Git 存储库进行操作。关键是要分离 git 目录(git 存储库存储)和工作树(检出的源代码)。

假设您的源代码在 c:\work\someproject\tfscode中被签出,并且您已经在那里运行了 git init,例如,Visual Studio 检测到了 c:\work\someproject\tfscode\.git目录,这会导致麻烦。

To make life more plessant do the following:

$ 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
...
$

这对于视觉工作室来说是完美的,因为它完全不知道存储在 git 中的任何东西。

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

git init --separate-git-dir _git

Since it doesn't create a .git 目录, only a .git 文件 pointing to the real repository directory, e.g.:

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

Visual Studio (至少到 VS2015更新3,这是我使用)没有注意到它!

这比环境变量的东西工作得更好,因为 Git 扩展(我正在使用)有问题支持,但处理指向一个 _git文件夹完美的 .git文件。

NoGit Visual Studio 扩展 处理此行为。

额外奖励,很棒的描述。

I had the same problem with Visual Studio 2015, where NoGit extension wasn't even allowed to install. I use the "open last solution on start-up" option so I thought that maybe this was somehow connected to the problem.

所以我只是简单的 关闭了我的解决方案之前去“工具-选项-源代码控制”,那么关闭它,重新启动 VS 和-瞧,SC 停止关闭!希望其他解决方案也能如此。

对于 VisualStudio2015,我发现 CodeLens 在重新启动后正在重新启用 GitSourceControl 插件。禁用 CodeLens 修复了这个。

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

在我的例子中,我实际上想要使用 Git,但是不想使用50% 的 CPU。

由于 NoGit 解决方案只适用于 VS2013,你可以下载:

这在 VisualStudio2013和2015中对我很有效。即使关闭并重新打开 VisualStudio,它仍然存在。

  1. 打开溶液

  2. 转到 Tools-> Options-> Source Control-> Set plugin to Nothing

  3. 关闭 VisualStudio 并使用管理权限执行下面的命令。

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"

我花了很长时间才找到解决这个问题的方法,而且经过了这么多次的尝试,所以我不能精确地说。 在另一个文件夹中使用 GitHub Desktop 创建另一个本地存储库。 Done this, open Visual Studio without loading a project, now Team Explorer should show up both repositories. 选择新的存储库,因为您应该执行一些操作,在这一点上您可以“删除”旧的存储库,因为新的存储库是“活动的”存储库。 完成此操作后,我从前一个文件夹中删除了. hide. git * 文件。 现在打开项目并不会导致重新创建旧存储库。 希望这个能帮上忙。

从 VisualStudio2015中删除 MicrosoftGitProvider

连结: Http://researchaholic.com/2015/02/02/remove-the-microsoft-gitprovider-from-visual-studio-2013/

  1. 确保 VisualStudio 已关闭
  2. 打开 regedit
  3. 导航到 HKEY _ CURRENT _ USER 软件 Microsoft VisualStudio 14.0 _ Config SourceControlProvider
  4. 删除11b8e6d7-c08b-4385-b321-321078cdd1f8 在详细信息面板中应该显示 GitProvider
  5. Open Visual Studio

这个 git 扩展拖慢了 IDE 中的所有事情(在我的例子中是 VS2015)。我必须删除整个 TeamFoundation 文件夹才能删除它。缺点是无法在 VisualStudio2015中使用 Git 和 TeamFoundation。注意: 在其他地方备份这个文件夹,并在需要时恢复它。

To delete the folder i did this. The steps i followed to delete the right folder

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

在 VS2015中,每次 IDE 加载时都重新启用 git SCC 的一个原因是 CodeLens。 Tools/Options/Text Editor/All Languages/CodeLens 有一个复选框用于各种涉及 TFVS 和 Git 的活动-如果它认为你正在处理一个 Git 回购,那么选中其中任何一个 Git 复选框都会自动启用 Git 插件。

您需要关闭所有 VS 解决方案。启动一个,设置菜单工具选项源代码管理 Git —— > 无,提示时关闭此解决方案。 现在,当打开任何其他解决方案时,选项保持为“无”。

1)封闭式解决方案和视觉工作室。 2)进入解决方案目录并删除隐藏的 git 目录和2个 git 文本文件。 3)再次开放视觉工作室。 4) goto 工具-> 选项和源代码控制。 5)选择无。 6)重新启动视觉工作室。 7)打开你的解决方案。 8) goto tools -> options and source control again and select TFS. 9)在解决方案中右击选择添加源代码管理到解决方案。 10)选择 tfs。

将工具选项源代码管理设置回 TFS。 关闭 VisualStudio2015。 打开源代码的根文件夹。 Delete folder named ".git". 重启。

背部疼了一个星期,我不知道如何在 VS2015中启动这个源代码控制服务。但我知道怎么阻止它。下面是使用 VS2019解耦 git/any 源代码控制的步骤。

转到 VS —— > Tools —— > Options —— > Source Control —— > [ Current Source Control Plug-in ]

您可以在您的系统中获得所有可能的源代码控制和无选项。 如果你选择无,你就全部设置好了。 我得到修复后,刚刚选择无选项,点击确定,重新启动 VS,没有更多的源代码控制。

我在 Visual Studio 中也遇到了 Git 的问题,但我想我最终找到了一个可行的解决方案。到目前为止,我一直使用重命名。Git 文件夹 to _ git 并添加一个名为。包含行“ gitdir: _ git”的 git。但是自从升级到 VS2019之后,它就不能工作了。

我尝试了很多不同的解决方案,但没有一个有效,因为我需要 Git 为一些项目,而不是为其他人。我的问题项目是使用我公司的 TeamFoundationServer 进行源代码管理。但是由于我在 TFS 的糟糕合并中丢失了代码,所以在更新或提交到 TFS 之前,我要将更改提交到本地 Git repo。

D:\Projects\TFS\.git Local git repo that VS shouldn't use.

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

无论我如何尝试,我都不能让 VS 在 ProjectA 中使用 TFS,因为它发现了一个。父文件夹中的 git 文件夹。我的解决办法是。Git 文件夹:

D:\Projects\TFS-GIT\.git

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

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

在 VisualStudio 中打开 D:\Projects\TFS\ProjectA\ProjectA.sln,它不会找到任何. git 文件夹,并且会像应该的那样连接到 TFS。

D:\Projects\TFS-GIT运行 git 命令将使用与 VisualStudio 相同的文件,但。Git 文件夹也是可用的。TortoiseGit 在这个文件夹中也能正常工作。