编辑: 这是一个已知问题并且不会被“修复”
接下来的问题是如何配置 git 以将 .git 文件夹命名为这个存储库的其他名称。
我们正在评估 Azure DevOps(使用 git),我想使用当前位于本地 TFS 下的现有项目。
我非常习惯从 cli 使用 git,但 VS2017 自动默认使用 Git 源代码控制提供程序。如果我将其改回 TFS,它会警告我并关闭解决方案。当我重新打开它时,我又回到了 GIT 源代码控制提供程序。
除了卸载 git 源代码控制提供程序之外,还有其他选择吗?
我推测如果 VS 看到一个名为 .git 的文件夹,即使是一个空文件夹,它也会使用 GIT 提供程序。 是否可以将 git 配置为使用不同的文件夹来代替 .git?
您可以尝试以下步骤:
确保您已连接到 VS 中的 TFS/Azure DevOps。
确保从“工具”->“选项”->“源代码管理”中选择您的源代码管理作为 VSTFS 插件。
现在尝试将解决方案添加到源代码管理,它会询问您需要在 TFS 实例中的何处添加解决方案。
我们一直在思考这个问题的一个几乎相同的实例:默认情况下安装了 GIT 作为 SCC 提供程序的 VS 安装,但必须使用 TFS (AzureDevOps) 源代码控制。
我们的情况涉及打开一个绑定到 TFS 的解决方案,但 VS 2022 会坚持将解决方案转移到 GIT 中,即使它没有到 GIT 的映射,没有隐藏的“.git”文件夹,什么也表明 VS 甚至应该是尝试使用 GIT。
然后我们做了一个实现:本地TFS工作空间映射(例如C:\Users\用户名 epos\TFS)与默认 GIT 存储库位置位于同一位置(例如 C:\users\username 电子书)。 GIT 存储库源中的任何解决方案或项目都会导致 VS 中的 GIT 提供程序“介入”并控制该解决方案。我们会在 VS 菜单中看到“GIT”,但我们尝试过的任何技巧都无法将其关联回 TFS。
解决方案:我们将从工作区 TFS 映射中获取的本地设备上的文件夹结构移动到完全不同的本地文件夹(例如 c:\TFS)完全位于默认 GIT 存储库位置之外。然后,我们更新了工作区/源代码控制映射以指向新位置,然后 VS 遵循 TFS 源代码控制映射。
这是一件“令人恼火”且难以追踪的事情。由于这个问题以不同的形式出现在多个 MS Dev 论坛和不同的 SO 帖子中,因此我选择在这里发布我们的修复程序,并希望它为面临相同或类似情况的其他人提供解决方案。