一个项目\解决方案在两个不同的TFS

时间:2014-06-08 11:49:55

标签: visual-studio-2012 tfs

我想与两个团队共享一个项目\解决方案,最好是两个TFS。 让两个团队使用相同TFS的选项不起作用,因为两个团队都无法访问其中一个TFS,并且需要在此TFS上托管解决方案。

看起来如下:

Project \ solution - > Team1 - > TFS1(要求)

相同项目\解决方案 - > Team1 + Team2 - > TFS2(???)

我有什么选择?有没有可以做到这一点的工具?我应该使用两种不同的版本控制包吗?

3 个答案:

答案 0 :(得分:1)

您可以使用TFS Integration Plataform在TFS安装之间同步团队项目......但最好的世界是:访问一个TFS trought TFS代理。 另一种方法是使用Git存储库,您可以将存储库与存储库远程同步,但只能通过TFS访问工作项。

答案 1 :(得分:0)

有三种方法可以解决您的问题。现实情况是,如果您不能使用云,那么只有#1才有效。请注意,使用#3充满了痛苦和痛苦。所有黑暗的黑客攻击/解决方法都无法满足解决潜在问题的需求,而不是将其扫到地毯下。

  1. 所有访问权限 - 唯一真正可行的解决方案我可以让所有必需用户访问TFS服务器。我曾在医疗保健,银行,国防甚至保险领域工作过。在所有情况下,在所有公司中,您可以拥有一台所有必需用户都可以访问的服务器。在某些情况下,它很难并充满了恐怖主义,但最终还是可以做到。
  2. Visual Studio Online - 虽然您担心云,但如果您的外部设备无法直接访问您的网络,则可能是您唯一的选择。这将是普通的服务器。如果你在欧洲,那么MS刚刚签署了一份协议,表面上将欧盟位于服务器的位置放在Partiot Act范围之外的美国公司(未经测试)。您还可以轻松使用TFS集成工具创建单向同步VSO和您的本地服务器。
  3. 双向同步 - 这可以通过多种方式实现,但如果两端都有变化,合并时总是会受到惩罚。您可以使用免费的TFS集成工具或使用OpsHub等商业可用工具。如果您在TFS中使用Git作为您的存储库,那么您可以使用命令行在两个服务器之间推送源...即使无法使用USB记忆棒进行通信。
  4. 使用#1或#2,仅作为临时和短期措施使用#3  我一直使用这些工具将单向从一个系统移动到另一个系统,即使这是一个复杂的体验。要双向移动内容,您需要一个全职资源来解决冲突。

答案 2 :(得分:-1)

如果服务器可以相互通信,您可以使用系统(类似于)复制。有一个主Tfs实例,然后外部站点使用代理,以允许第二个团队工作,而无需直接或始终可访问主服务器。

或者您可以使用分支 - 您可以为外部团队的代码保留一个分支,然后合并到该分支或从该分支合并到主线。在此方案中,您可以通过在分支和外部站点之间进行复制来同步代码,因此如果没有直接网络连接,您甚至可以在记忆棒上传输更新。但是,每个同步都非常耗时,因为主服务器团队中的某个人必须在分支中来回合并代码。

要考虑的另一件事是,是否有任何方法可以将代码库和任务分开,以最大限度地减少两个团队之间的重叠。例如,如果一个团队提供了另一个团队使用的库。这太简化了所需的合并。