【问题标题】:TFVC->Git (and eventually to VSTS) - Multiple TFS projects merged?TFVC->Git(最终到 VSTS) - 多个 TFS 项目合并?
【发布时间】:2020-07-28 17:32:02
【问题描述】:

我们将从内部 TFS 迁移到 VSTS,但在我们承诺之前,我们会将现有代码从 TFVC 迁移到 Git。但是有一个小问题我想考虑一下......

我们现在拥有的是多个 TFS 项目(我们称它们为“ProjectA”、“ProjectB”等)。将其视为多个相互关联的产品,但现在我们想要一个“套件”项目并将所有内容合并在一起。所以新项目是“Suite”,下面有“ProjectA”、“ProjectB”等文件夹。

所有工作项都在不同的根项目下,但我们必须单独处理这种情况。目前,只有代码,只有 Main,我们可以忍受相对较短的历史(旧的 TFVC 项目将只读用于旧的历史查找)。由于有十多年的历史和一堆废话,我们需要划出一条合理的线,我认为 180 天就足够了。

我的问题和总结:我读过的大多数不同的博客/文章都谈到了在同一个 TFS 项目中创建一个新的 repo 并仅迁移该项目的更典型的方法。我们想在 new 项目中创建一个新的存储库,并将 多个 其他项目作为子文件夹迁移,最终得到一个(大型)存储库。 有什么我应该预先注意的警告吗?

完成后,我们将考虑将新项目迁移到 VSTS。

【问题讨论】:

  • 你读过 Git 中 monorepos 的优缺点吗?通常建议将多个不相关的应用程序放在一个 Git 存储库中。
  • 这些事情进展如何?
  • 因为所有的项目都是相关的和相互依赖的,我们正朝着合并的方向发展。但首先,我们正在做一次重大清理,以整理十年来有问题的选择(比如签入大型二进制文件)。我们最终可能会找到一种解决方案来统治它们。很多前期的痛苦,但我们认为这最终是值得的。然后是 VSTS 迁移的痛苦。 :-(

标签: git tfs tfvc


【解决方案1】:

就像 Daniel 提到的那样,创建单一存储库并不是一个好主意,您应该创建多个 git 存储库,使用组件(Nuget Artifacts)来封装共享部分并从其他项目(在其他存储库上)使用它们。使用starian建议的方法将每个项目迁移到git repo要容易得多,然后您可以在本地克隆它们,将远程更改为新服务器(和单个项目),然后将其推送到那里。通过这种方式,您可以针对同一个目标项目创建多个存储库,并将所有子项目保留在自己的存储库中,并在闲暇时使用共享组件。然后,您还可以独立于子项目来修改组件,这样会更好。开始时要付出更多的努力,但将来您会过得更好。

【讨论】:

    【解决方案2】:

    Azure DevOps 服务器支持将存储库从 TFVC 导入到带有历史记录的 git。所以你可以新建一个团队项目,将其他团队项目中的TFVC repos导入到这个项目中,但不只是一个git仓库,会是多个仓库。

    Import repositories from TFVC to Git

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 2018-02-22
      • 2015-07-14
      • 2022-08-23
      • 2013-03-10
      • 1970-01-01
      • 2020-04-26
      相关资源
      最近更新 更多