【发布时间】:2015-03-25 03:04:34
【问题描述】:
我开始在本地处理一些代码并使用 Git(Git Gui 和命令行)来管理它。我现在被要求将项目放入“公司”的 TFS 中。我可以使用 VPN 连接远程访问 TFS。
对于 VS,代码是具有多个项目的单一解决方案。我使用VS成功将解决方案添加到TFS,它似乎找到了所有项目并将它们的.csproj文件和所有代码添加到TFS源代码管理中。
后来,当没有连接到 TFS(VPN 关闭)时,我做了一个简单的更改并将其提交到我的本地 Git 存储库。我在尝试(连接到 VPN 并)尝试将更改提交到 TFS 时感到沮丧。
- 我启动 Visual Studio。
- 有一个“团队资源管理器 - 主页”选项卡,其中显示“主页 | 离线”。
- 我检查了工具/选项/源代码控制,TFS 是当前的版本控制提供程序。
到目前为止一切顺利。
- 我单击团队资源管理器工具栏上的“插头”图标;它会记住连接,现在显示“连接 | 离线”;
- 下面是一条带有“选择团队项目...”链接的行和两个部分,每个部分旁边都有向下的三角形。
- 一个具有 TFS 服务器名称(后跟 (1));下面是存储在 TFS 中的(唯一的)“团队项目”的名称。
- 另一部分有“本地 Git 存储库 (1)”,并显示解决方案的名称以及旁边的解决方案目录的路径。
- 标签标题是“团队资源管理器 - 连接”。
- 我双击团队项目的名称,选项卡标题变为“团队资源管理器 - 主页”,屏幕显示“主页 | {teamProjName}”和两个部分。
- 其中一个具有“项目”和“Web 门户”以及通常的“待定更改”、“源代码管理资源管理器”等图标部分;
- 还有一个“解决方案”部分,其中有一行“工作区:{workspaceName} | 新建... |“打开...”;
- 下面是单个解决方案文件。
- 我双击解决方案名称,现在屏幕显示“Home | solutionName (Local)”;
- 解决方案部分现在有“分支:主”(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 的主流用例。
我们将不胜感激。谢谢。
【问题讨论】:
-
TFS 提供了两种源代码控制系统。 Git & TFVC。你不能从一个推到另一个OOB。你能确认你使用的是哪个服务器端吗?
-
请注意,TFS 是托管诸如 Git 存储库或 TFVC 存储库之类的东西的服务器。使用 Git 进行本地开发并使用 TFVC 与他人同步根本不是 VS 的主流用例。正如@MrHinsh 指出的那样:在 VS 中,您可以使用 TFVC 或 Git,但如果您想要在两者之间进行(有损)转换,VS 不会为您执行此操作。
标签: git visual-studio visual-studio-2013 tfs