我知道您可以使用“工具/选项”对话框禁用git集成,但我注意到这个设置似乎不会在会话中持续存在;即,一旦关闭并重新打开解决方案,就会再次启用Git集成。我猜Visual Studio正在我的解决方案文件系统树中看到.git文件夹。
当启用Git插件时,有各种各样的Visual Studio 2013插件表现不正确,我更喜欢在命令行管理我的源代码控制,而我正在处理一些Git集成的非常大的项目在打开和使用解决方案时引入明显的减速。我想把它关掉,因为我根本就不使用它或者不需要它。这可能吗?
答案 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/
答案 7 :(得分:5)
这在Visual Studio 2013和2015中适用于我。即使您关闭并重新打开Visual Studio也会保留。
打开解决方案
转到工具 - >选项 - >源控制 - >将插件设置为无
关闭Visual Studio并使用管理权限执行以下命令。
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)
使用新的NoGit扩展程序包:https://github.com/markrendle/nogit/releases/download/1.0.5/NoGit.vsix
下载并添加到visual studio: https://superuser.com/questions/73675/how-do-i-install-a-vsix-file-in-visual-studio
易。
答案 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。注意:将此文件夹备份到其他位置并在需要时将其还原。
我这样做的原因是,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)
答案 20 :(得分:-5)
将Tools \ Options \ Source Control设置回TFS。 关闭Visual Studio 2015。 打开源代码的根文件夹。 删除名为" .git"。的文件夹 重新启动。