在Visual Studio 2015中删除git映射


157

这个问题与git本身无关;相反,这与删除Visual Studio 2015(VS2015)以前看到的git存储库的绑定/映射有关。

这是问题的屏幕截图: 删除按钮显示为灰色

请注意,删除按钮显示为灰色(禁用)。如何从“本地Git存储库”列表中删除该条目?


使用当前未发布的NoGit版本很容易,请参阅stackoverflow.com/a/33789257/2284031
Ben Wilde

添加新解决方案时,请注意,右下角未选中“添加到git Repository”
Iman

1
以下答案对我都不起作用。因此,我只是使用了一种解决方法:关闭Studio,将.git文件夹重命名为任何名称,例如.git1,打开Studio,将git文件夹重命名为.git。请记住,在Windows中,为了给文件夹名称起一个点,您需要在名称的末尾添加一个额外的点,即“ .git1”。
bruha

Answers:


210

解决方案比这简单得多。您只需要从项目UNC路径中删除三个文件。

导航到解决方案的UNC路径。

示例:C:\ Users \您的用户名\ Documents \ Visual Studio 2015 \ Projects \您的项目文件夹

然后永久删除(“ SHIFT + DEL”).git*文件和文件夹。有两个文件和一个文件夹,它们可能是隐藏的,因此请确保已选择文件夹和搜索选项>视图>显示隐藏的文件,文件夹和驱动器(单选按钮)。

要永久删除的文件是:

.gitignore(文件)

.gitattributes(文件)

.git(文件夹)

重新打开Visual Studio,并且与Git Source Control不再存在任何关系。如果您希望将其带到如上所述的从注册表中删除的范围之内,则可以这样做,但是除了计算机的“整理”之外,这没有必要。


2
+1。以我的经验,玩注册表似乎不太好。我将项目复制到另一个位置(将虚拟机复制到本地),并删除了.gitignore,.gitattributes和.git之后,便做到了这一点。
cr1pto

42
-1这不是删除VS中的git映射,而是删除git存储库本身。通过这些步骤,VS不再被映射到git的原因是您已经浪费了存储库。那些想使用git但又不想VS参与的人呢?这就是OP的要求。
罗布·莱文

5
@Richard_D-基本上-如果您以标准方式使用git,则此.git文件夹 git。它既是上游git服务器上所有内容的本地副本,也可能是您已创建但未推送的任何本地分支的唯一副本。很多人从命令行使用git或诸如SourceTree之类的工具,并且不想在VS中使用git集成。在这种情况下,我们想要的只是禁用VS中的git支持,而不是篡改我们本地的git安装。这是否更有意义,还是我误解了您的担忧?
罗布·莱文

4
这是一个可怕的想法。刑事疏忽也浮现在脑海。安全带失败者是另一个。这不是删除任何映射,而是删除存储库本身。
Panagiotis Kanavos

2
就我而言,它工作得很好。由于错误,我曾尝试将项目添加到源代码管理中,并且将其放入本地的GIT存储库中。这破坏了源代码控制的目的,因为如果驱动器崩溃,我将失去一切。我尝试连接到TFS,但它始终默认回到GIT。通过删除所有GIT文件,然后重新打开VS,它对我来说效果很好。+!先生!
logixologist

59

工具->选项->源代码控制->当前源代码控制插件:无


4
这是真正的答案-就我而言,尽管我始终使用Team Foundation Server进行版本控制。似乎微软正在推动Git-不喜欢。
Alexey Shevelyov '17

这只会关闭项目并禁用Visual Studio中的源代码控制。下次打开项目时,将重新启用git集成。
斯凯·麦克马斯特

40

精简版

  1. 删除下的相应条目HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

  2. 删除HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepository,如果是一样的,你试图删除回购。

背景

好像Visual Studio跟踪了它所看到的所有git存储库。即使关闭了引用存储库的项目,旧条目仍可能出现在列表中。

此问题对于Visual Studio来说不是新问题:

VS2013-当始终禁用“删除”选项时,如何从团队资源管理器窗口删除本地git存储库?

从Visual Studio 2013解决方案中删除Git绑定?

对于可能应该是内置功能的某些事情,这似乎是很多工作。上面的“解决方案”提到了对.git文件等的修改;我不喜欢必须更改Visual Studio 外部的内容以影响Visual Studio 内部的内容的想法。尽管我的解决方案需要进行一些注册表编辑(并且在VS外部),但是至少这些仅影响VS。这是变通方法(阅读:hack):

详细说明

执行以下步骤之前,请确保已关闭Visual Studio 2015。

1.打开regedit.exe并导航到

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

VS的Regedit存储库

您可能会看到多个“哈希”值,它们代表VS跟踪的存储库。

2.从列表中找到要删除的git存储库。查看namepath值以验证要删除的正确存储库:

验证要删除的仓库

3.删除键(和相应的子键)。

(可选:在删除之前,您可以右键单击并选择“ 导出”以备份该密钥,以防万一。)现在,右键单击该密钥(在我的情况下,是AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9并选择Delete)。

4.检查LastUsedRepository键是否指向“其他”。

如果您在上述步骤中尝试删除的存储库映射存储在中LastUsedRepository,那么您还需要删除此密钥。首先导航到:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General

通用密钥的位置

并删除密钥LastUsedRepository(如果需要,VS将重新创建密钥)。如果您担心删除密钥,则可以修改值并将其设置为空字符串:

删除上次使用的仓库

再次打开Visual Studio 2015时,git存储库绑定不应再出现在列表中。


我不认为玩注册表是个好主意...如果这个做法有些不错,但是以我的经验,这并不是最安全的选择。有关更安全的解决方案,请参见@helix的答案。
cr1pto

3
@Richard_D-螺旋的答案不会删除VS到git的映射,它会破坏git repo本身,这并不是OP所要求的。破解注册表并不理想,但至少它尝试解决实际问题“我正在使用git存储库,但不希望VS参与其中”
Rob Levine

我看到这回答了OP的问题,但这是正确的答案吗?我不确定。请在@Helix的答案中查看我的问题。感谢Rob,感谢您的见解。
cr1pto

1
下次打开解决方案时,VS2015会还原这些注册表项。
阿米特·G

1
开发人员不必担心编辑Windows注册表。特别是当它显然是Visual Studio键时!删除.git目录不是我的选择。
0xF

21

当Git存储库不再是活动项目时,可以从VS-2015中本地Git存储库列表中删除它。

屏幕快照中只有一个存储库,并且该存储库处于活动状态,因此无法删除它。

当您有两个或多个存储库时,其中一个将以粗体显示,表示活动的存储库。那时可以删除其他非活动存储库。

因此,要解决您的问题,如果您连接到另一个本地存储库,则可以删除屏幕快照中突出显示的存储库。

不幸的是,Team Explorer似乎总是保持一个存储库处于活动状态。不知道如何说服它完全放弃而不切换到另一个存储库。


但是,您如何“连接”到其他存储库?似乎一旦VS进入仓库,它就不允许您使用解决方案资源管理器菜单中相同的“添加到Sorce控制”选项连接到另一个。(nvm从解决方案目录中删除.git和其他git文件对我有用。)
Gram

@公克。在本地Git存储库下(请参阅OP屏幕截图),您可以创建一个“新” Git存储库或“克隆”现有的Git存储库。如果创建新的git存储库,请在本地硬盘驱动器上为其提供路径,然后单击“创建”。之后,它将出现在您的列表中。双击新存储库,它将以粗体突出显示,并且在后台成为活动存储库。此时,您可以从列表中删除其他存储库。
克里斯C.15年

这就是在创建新的本地存储库,而不是将现有项目连接到现有github存储库。糟糕,再次阅读后,我看到删除是唯一的问题。我的错误是,如何连接到现有不是问题的一部分。
2015年

18

删除.git隐藏文件夹对我有用。


这会将文件夹从git checkout转换为文件夹。当然,不应因为Visual Studio进行此操作而改变结帐目录的用途。
Cristian Amarie

超级晚了,但是非常感谢您。。。这必须是迄今为止我整个职业中最令人沮丧和烦人的早晨之一,他们已经建立了多么愚蠢的功能来解决这个问题……
haag1

11

上面的答案对我不起作用。当我在Visual Studio中打开解决方案时,注册表项只会自动重新添加。我在Matthews答案的链接之一中找到了解决方法,因此仍然可以为他提供正确答案。

从Visual Studio 2013解决方案中删除Git绑定?

删除.git解决方案文件夹中的隐藏文件夹。

我还删除了.gitattributes.gitignore文件,只是为了保持文件夹清洁。


2
如果您希望通过git管理项目,而不必通过Team Explorer进行管理,则没有任何用处。我个人发现,Team Explorer通过另一个VS插件弄乱了我对Git的使用,这是完全不希望的。
亨利·威尔逊

这不会从VS中删除git加载项。VS继续击败Git灌木丛,而且情况越来越严重。
IAbstract 2016年

@IAbstract这个问题并不要求从VS中删除git加载项。
基因S

@Henry Wilson看来您的评论似乎与问题无关。我的回答确实从Visual Studio中删除了绑定/映射。它对我有用,对其他人显然也有用。
Gene S

1
这与问题完全相关!OP并没有说明他是否正在使用git进行源代码控制,他只是想知道如何摆脱VS中的绑定。删除.git文件夹和.gitattributes / .gitignore文件时,将假定您实际上并没有使用git进行源代码控制,这可能是很多人所希望的。
亨利·威尔逊

9

每次加载解决方案时,通过关闭Git源代码控制提供程序,NoGit扩展就可以简单地隐藏问题。它为Visual Studio中加载的每个解决方案执行此工作。

按照Chris C的建议,我通过打开另一个项目并从本地Git存储库中删除Git存储库来解决(查看>团队资源管理器>本地Git存储库,选择必须删除的存储库,然后单击删除)。然后,按照helix的建议,从项目路径中删除了.git文件夹。重新打开该项目,最后Git集成消失了!


只需从解决方案的文件夹中删除.git文件夹和几个.git文件,即可为我修复它。谢谢大家!
PTansey,2016年

8
  1. 导航到您的项目目录
  2. 单击文件夹菜单->工具->文件夹选项
  3. 选择查看选项卡
  4. 选择“文件和文件夹”下的“显示隐藏的文件,文件夹和驱动器”
  5. 点击确定
  6. 删除资料.git
  7. 关闭并重新打开您的Visual Studio
  8. 打开你的项目
  9. 做完了 :)

安全编码。


1
那不是我们想要做的。我们需要git,我们只是不希望VS与git集成。
格里

7

很简单

  1. 确保您未连接到要删除的项目

  2. 解决方案资源管理器中的项目已关闭

    就是这样,如果您现在重试,则将启用删除操作


谢谢。这是最简单的方法,应选择答案。
罗纳德·拉莫斯

可行,如果您看到删除选项继续禁用,请关闭并再次打开Visual Studio。我在VS 2017中使用了它
freedeveloper

5

我花了一些时间从我的Visual Studio 2015项目中删除git集成。每当我从Visual Studio中删除git,并按照以下方法添加TFS时:工具->选项-> sourceControl->插件选择-> Visual Studio Team Foundation Server,它曾经回来过。

我的解决方案是-

确定项目的物理位置-显示所有隐藏文件。您可以通过显示Windows的隐藏文件和文件夹选项来执行此操作。然后我意识到,有一个名为.git的隐藏文件夹。我保留了我的项目文件夹的完整备份,还保留了git文件夹中任何需要进行的其他备份(以防我的项目中断,因此保留了此备份,以便可以恢复到以前的状态)。

那么我已经删除了隐藏的.git文件夹和任何其他.git相关文件。

然后我尝试工具->选项-> sourceControl->插件选择-> Visual Studio Team Foundation Server。然后我通过Visual Studio打开项目-文件->打开->项目/解决方案。

之后,我在解决方案资源管理器中启动,右键单击解决方案名称,请参阅“源代码管理”选项,然后在项目中-右键单击,我看到“将源代码添加到源代码管理” ..这次没有将解决方案添加到git。 。

从源代码管理浏览器中删除任何git连接也是一件好事。

所以最主要的是确保您的项目文件和任何其他git扩展中没有隐藏的git文件..希望这对某人有所帮助。


2

除了Juliano Nunes Silva Oliveira的答案之外,最简单,最干净的方法是连接到其他存储库,而无需破解regedit,删除隐藏的.git文件夹或更改VS15设置。连接后,您会看到其他存储库的文本为粗体,然后选择您的Git本地存储库。现在您看到

去掉

菜单项已启用,因此您可以删除Git本地存储库

在Visual Studio 2015中使用Git 时,处理分支时,行为的类型相同。您需要选择其他分支,然后才能删除要删除的分支。

对于那些需要可视化以更好地理解它的人。参见链接图片: 如何完成

快乐编码


1

它只是在解决方案文件夹中查找.git目录的存在。删除该文件夹(可能已隐藏),Visual Studio将不再将其视为git项目。


这是因为如果删除它,它不再是git project。您已经有效地破坏了版本控制。如果那是您想要做的,那很好。
gliljas

那正是我想做的。当我将其添加到源代码管理中时,Visual Studio决定终止我的30天许可。让我的项目陷入混乱的状态,我无法继续阅读文档。
内森·高斯

1

连接到其他存储库(我尝试过使用TFS存储库),然后转到“管理连接”,右键单击Git存储库,您也许可以删除它。

但是,仍然需要从项目路径中手动删除.git文件夹和文件,然后再次打开解决方案。


1

@Matthew Kraus请单击菜单栏中的工具,然后单击选项,找到源代码管理,然后从下拉列表中选择“无”,然后单击确定。从项目文件夹中删除隐藏的.git文件夹。重新打开您的项目。 在此处输入图片说明


0

转到Control Panel\User Accounts\Credential Manager并选择,Windows Credential然后删除git帐户。



0

当本地git存储库已连接时,您无法删除它。因此,请关闭解决方案,打开另一个解决方案,然后删除本地git存储库。不要忘记删除.git隐藏文件夹对我有用

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.