【问题标题】:Remove git mapping in Visual Studio 2015在 Visual Studio 2015 中删除 git 映射
【发布时间】:2015-08-31 06:18:00
【问题描述】:

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

这是问题的屏幕截图:

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

【问题讨论】:

  • 使用当前未发布的 NoGit 版本很容易,请参阅 stackoverflow.com/a/33789257/2284031
  • 添加新解决方案时请注意,右下角的“添加到 git 存储库”未选中
  • 以下答案都不适合我。所以我只是使用了一种解决方法:关闭 Studio,将 .git 文件夹重命名为任何名称,例如.git1,打开 Studio,将 git 文件夹重命名为 .git。请记住,为了在 Windows 中以点开头的文件夹名称,您需要在名称的末尾添加一个额外的点,即“.git1”。

标签: git visual-studio-2015 team-explorer


【解决方案1】:

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

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

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

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

要永久删除的文件是:

.gitignore(文件)

.gitattributes(文件)

.git(文件夹)

重新打开 Visual Studio,与 Git 源代码管理不再有任何关系。如果您想将其从注册表中删除,如上所述,您可以,但除了您的机器的“管家”之外,这应该不是必需的。

【讨论】:

  • +1。根据我的经验,使用注册表似乎效果不佳。我在将我的项目复制到另一个位置(一个 vm 到本地)并删除了 .gitignore、.gitattributes 和 .git 之后这样做了,这成功了。
  • -1 这不是删除 VS 中的 git 映射,而是删除 git 存储库本身。 VS 停止通过这些步骤映射到 git 的原因是你已经吹走了 repo。那些想使用 git 但又不想 VS 参与的人呢?这就是 OP 的要求。
  • @Richard_D - 基本上 - 如果您以标准方式使用 git,那么这个 .git 文件夹 git。它既是上游 git 服务器上所有内容的本地副本,也可能是您创建但未推送的任何本地分支的唯一副本。很多人从命令行使用 git,或者像 SourceTree 这样的工具,不想在 VS 中使用 git 集成。在这种情况下,我们想要的只是禁用 VS 中的 git 支持,而不是真正篡改我们的本地 git 安装。这更有意义,还是我误解了你的担忧?
  • 这是一个可怕的想法。刑事疏忽也会浮现在脑海中。安全带破坏者是另一个。这不是删除任何映射,而是删除存储库本身。
  • 就我而言,它运行良好。错误地,我试图将一个项目添加到源代码控制中,并且它以某种方式将它放在本地的 GIT 存储库中。这违背了源代码控制的目的,因为如果驱动器崩溃,我将失去一切。我尝试连接到 TFS,但它一直默认回到 GIT。通过删除所有 GIT 文件并重新打开 VS,它对我来说非常有效。 +!好心的先生!
【解决方案2】:

工具 -> 选项 -> 源代码管理 -> 当前源代码管理插件:无

【讨论】:

  • 这是真正的答案——就我而言,尽管我一直使用 Team Foundation Server 进行版本控制。似乎微软正在推动 Git - 不喜欢它。
  • 这只是关闭项目并禁用 Visual Studio 中的源代码控制。下次打开项目时,git 集成会重新启用。
  • 这在 VS 2019 中仍然是正确的
【解决方案3】:

短版

  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 - How do I remove local git repository from team explorer window when option Remove is always disabled?

Remove Git binding from Visual Studio 2013 solution?

对于可能应该是内置功能的东西,这一切似乎都需要做很多工作。上述“解决方案”提到对 .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 正在跟踪的存储库的多个“哈希”值。

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

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

(可选:在删除之前,您可以右键单击并选择 Export 备份此密钥,以防万一出错。)现在,右键单击密钥(在我的情况下是@ 987654336@ 并选择删除)。

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

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

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

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

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

【讨论】:

  • 我不认为使用注册表是一个好主意...如果这对某些人有用,很酷,但根据我的经验,这不是最安全的选择。请参阅@helix 的答案以获得更安全的解决方案。
  • @Richard_D - helix 的答案不会删除 VS 到 git 的映射,它会破坏 git repo 本身,这不是 OP 似乎要问的。破解注册表并不理想,但至少它试图解决实际问题“我正在使用 git repo 但不希望 VS 参与其中”
  • 我看到这回答了 OP 的问题,但这是正确的答案吗?我不确定。请在@Helix 的回答中查看我的问题。谢谢 Rob,感谢您的洞察力。
  • VS2015 只是在下次打开解决方案时恢复这些注册表项。
  • 开发人员不应该害怕编辑 Windows 注册表。尤其是当它显然是 Visual Studio 密钥时!删除 .git 目录对我来说不是一个选项。
【解决方案4】:

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

您的屏幕截图仅存在一个存储库,并且它处于活动状态,因此您无法删除它。

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

因此,为了解决您的问题,如果您连接到第二个本地存储库,您将能够删除您在屏幕截图中突出显示的那个。

不幸的是,Team Explorer 似乎始终保持一个存储库处于活动状态。不知道如何说服它在不切换到另一个存储库的情况下完全放手。

【讨论】:

  • 但是您如何“连接”到其他存储库?似乎一旦 VS 在存储库上,它就不允许您使用解决方案资源管理器菜单中相同的“添加到 Sorce Control”选项连接到另一个。 (nvm 从解决方案目录中删除 .git 和其他 git 文件对我有用。)
  • @Gram。在本地 Git 存储库(参见 OP 屏幕截图)下,您可以创建“新”Git 存储库或“克隆”现有的存储库。如果您创建一个新的 git 存储库,请在本地硬盘驱动器上为其指定一个路径,然后单击创建。之后,它将出现在您的列表中。双击新存储库,它将以粗体文本突出显示,并在幕后成为活动存储库。此时,您可以从列表中删除其他存储库。
  • 这是创建一个新的本地仓库,而不是将现有项目连接到现有的 github 仓库。糟糕,在第二次阅读时,我发现删除是唯一的问题。如何连接到现有的不是问题的一部分,我的错误。
【解决方案5】:

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

【讨论】:

  • 这会将文件夹从 git checkout 转换为文件夹。当然不应该改变结帐目录的用途,因为 Visual Studio 会这样做或那样做。
  • 迟到了,但非常感谢……这一定是迄今为止我整个职业生涯中最令人沮丧和最烦人的早晨之一,他们内置了多么愚蠢的功能来处理这个问题…… .
【解决方案6】:
  1. 导航到您的项目目录
  2. 点击文件夹菜单->工具->文件夹选项
  3. 选择查看标签
  4. 在文件和文件夹下选择显示隐藏文件、文件夹和驱动器
  5. 点击确定
  6. 删除.git文件夹
  7. 关闭并重新打开 Visual Studio
  8. 打开你的项目
  9. 完成。 :)

安全编码。

【讨论】:

  • 这不是我们想要做的。我们想要 git,我们只是不想 VS 与 git 集成。
【解决方案7】:

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

Remove Git binding from Visual Studio 2013 solution?

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

我还删除了 .gitattributes.gitignore 文件,只是为了保持我的文件夹干净。

【讨论】:

  • 如果您希望项目由 git 管理,而不是通过 Team Explorer 管理,这没有任何用处。我个人发现 Team Explorer 通过不同的 VS 插件干扰了我对 Git 的使用,这是完全不可取的。
  • 这不会从 VS 中删除 git 插件。 VS 继续击败 Git 灌木丛,而且情况正在恶化。
  • @IAbstract 这个问题没有要求从VS中删除git插件。
  • @Henry Wilson 您的评论似乎与该问题无关。我的回答确实从 Visual Studio 中删除了绑定/映射。它适用于我,显然也适用于其他人。
  • 与问题完全相关! OP没有说明他是否使用git进行源代码控制,他只是想知道如何摆脱VS中的绑定。删除 .git 文件夹和 .gitattributes / .gitignore 文件假定您实际上并没有使用 git 进行源代码控制,很多人可能都是这样。
【解决方案8】:

NoGit 扩展只是通过在每次加载解决方案时关闭 Git 源代码控制提供程序来隐藏问题。它为 Visual Studio 中加载的每个解决方案执行这项工作。

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

【讨论】:

  • 只需从解决方案的文件夹中删除 .git 文件夹和几个 .git 文件即可为我修复它。谢谢大家!
【解决方案9】:

就是这么简单,

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

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

    仅此而已,如果您现在重试,将启用删除操作

【讨论】:

  • 谢谢。这是最简单的,应该选择作为答案。
  • 有效,如果您看到删除选项继续禁用,请关闭并再次打开 Visual Studio。我在 VS 2017 中使用它
【解决方案10】:

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

我的解决方案是 -

制作我的项目的物理位置 - 显示所有隐藏文件。您可以通过显示隐藏文件和 windows 的文件夹选项来做到这一点。 然后我意识到,有一个名为 .git 的隐藏文件夹。 我保留了我的项目文件夹的完整备份,以及 git 文件夹的任何其他必要备份(我保留了这个备份以防我的项目中断,以便我可以回到以前的状态)。

然后我删除了隐藏的 .git 文件夹和任何其他 .git 相关文件。

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

之后我在解决方案资源管理器中通知,右键单击解决方案名称我看到“源代码控制”选项, 并且在项目中 - 右键单击​​我看到“将解决方案添加到源代码控制”.. 而这次它没有向 git 添加解决方案..

从你的源代码管理浏览器中删除任何 git 连接也是很好的..如果有的话..

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

【讨论】:

    【解决方案11】:

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

    【讨论】:

      【解决方案12】:

      除了 Juliano Nunes Silva Oliveira 的回答之外,最简单、最干净的方法是连接到不同的存储库,无需侵入 regedit、删除隐藏的 .git 文件夹或更改 VS15 设置。连接后,您会看到另一个存储库的文本以粗体显示,然后选择您的 Git 本地存储库。现在你看到了

      删除

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

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

      对于那些需要可视化以更好地理解它的人。见链接图片: how it's done

      愉快的编码

      【讨论】:

        【解决方案13】:

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

        【讨论】:

        • 那是因为如果你删除它它不再是一个 git 项目。您已经有效地破坏了您的版本控制。如果这就是你想要做的,很好。
        • 这正是我想做的。当我将它添加到源代码控制时,Visual Studio 决定让我的 30 天许可证到期。让我的项目处于令人困惑的状态,我无法按照文档进行操作。
        【解决方案14】:

        连接到不同的存储库(我尝试使用 TFS 存储库),然后转到管理连接,右键单击 Git 存储库,您也许可以将其删除。

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

        【讨论】:

          【解决方案15】:

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

          【讨论】:

            【解决方案16】:

            从 microsoft 下载扩展并安装以从 Visual Studio 和 SSMS 中删除 GIT 扩展。

            https://marketplace.visualstudio.com/items?itemName=MarkRendle.NoGit

            SSMS:编辑位于 C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\ssms.pkgundef 的 ssms.pkgundef 文件并删除所有与 git 相关的条目

            【讨论】:

              【解决方案17】:

              当本地 git 存储库已连接时,您无法删除它。 所以关闭解决方案,打开另一个解决方案,然后删除本地 git 存储库。 不要忘记删除 .git 隐藏文件夹 为我工作

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2023-03-10
                • 2016-09-21
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多