gpt4 book ai didi

git - 在 Visual Studio 2013 中使用本地 Git 和(远程)TFS

转载 作者:太空狗 更新时间:2023-10-29 12:58:35 25 4
gpt4 key购买 nike

我开始在本地处理一些代码并使用 Git(Git Gui 和命令行)来管理它。我现在被要求将该项目“在公司”放入 TFS。我可以使用 VPN 连接远程访问 TFS。

对于 VS,代码是具有多个项目的单一解决方案。我使用 VS 成功地将解决方案添加到 TFS,它似乎找到了所有项目并将它们的 .csproj 文件和所有代码添加到 TFS 源代码管理。

后来,当没有连接到 TFS(VPN 关闭)时,我做了一个简单的更改并将其提交到我的本地 Git 存储库。我在尝试(连接到 VPN 并)尝试将更改提交给 TFS 时感到沮丧。

  • 我启动 Visual Studio。
  • 有一个“Team Explorer - Home”选项卡,其中显示“Home | Offline”。
  • 我检查了工具/选项/源代码管理,TFS 是当前的版本控制提供程序。

到目前为止一切顺利。

  • 我单击团队资源管理器工具栏上的“插件”图标;它会记住连接并现在显示“连接 | 离线”;
  • 下面是一行带有“选择团队项目...”链接的行和两个部分,每个部分旁边都有向下的三角形。
    • 其中一个具有 TFS 服务器名称(后跟 (1));下面是存储在 TFS 中的(唯一的)“团队项目”的名称。
    • 另一部分包含“本地 Git 存储库 (1)”,并显示解决方案的名称及其旁边的解决方案目录路径。
  • 选项卡标题是“Team Explorer - Connect”。
  • 我双击团队项目的名称,选项卡标题变为“团队资源管理器 - 主页”,屏幕显示“主页 | {teamProjName}”和两个部分。
    • 其中有“项目”和“Web 门户”以及下面常见的“待定更改”、“源代码管理资源管理器”等图标部分;
    • 还有另一个“解决方案”部分,其中有一行“Workspace:{workspaceName} | New... | “Open...”;
    • 下面是单个解决方案文件。
  • 我双击解决方案名称,现在屏幕显示“Home | solutionName (Local)”;
    • 解决方案部分现在有“Branch: master”(Git 的证据)和
    • Tools/Options/Source Control 显示已更改为 Microsoft Git Provider。
  • 如果我将其改回 TFS,它会显示“Home | Offline”,我必须再次单击“plug”图标 --

我又回到了开始的地方,只是它说的是“Connect | {solutionName} (Local)”!

首先打开解决方案没有帮助;当我连接到 TFS 时,解决方案关闭。关闭和打开 VS 只是让它以“VS 知道 TFS,但你处于离线状态”模式启动,并在 TFS 处于事件状态的情况下打开解决方案使其切换到(本地)模式下的 Git 提供程序。

我非常接近破解注册表以禁用 Microsoft Git 提供程序——我已经使用 Git Gui 和命令行完成了我的 Git 工作; VS没有参与。

我疯了吗?我本以为“使用 Git 在本地开发,连接到 TFS 以与其他人同步”是 VS 的主流用例。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

如果 .git 文件夹用作 git 存储库的存储,Visual Studio 只会看到 git 存储库。因此,我们可以通过为 git 存储使用不同的文件夹来伪造 VS。

  • 将当前的.git文件夹重命名为_git(.git目录可能被 stash )
  • 在名为 .git 的同一文件夹中创建一个文本文件,其中仅包含 gitdir: _git 行(通过命令行创建文件:echo gitdir: _git >.git)
  • _git 添加到您的.gitignore 文件

现在,当您启动 VS 时,它将看不到该 git 存储库,而是使用 TFS。

关于git - 在 Visual Studio 2013 中使用本地 Git 和(远程)TFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28154562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com