从 TFVC 迁移到 Git - 它如何处理分支?

Migration from TFVC to Git - how does it handle branches?

我正在考虑使用 Azure DevOps 中提供的 "Import" 选项将我们的 TFVC 存储库迁移到 Git(存储库 -> 文件 -> [新建 Git 存储库] -> 'Import' 按钮)。

我们的 TFVC 存储库目前有两个分支:

$/MyProject/Dev
$/MyProject/Release_1.0  (currently our one and only production version)

"import" 选项 (here) 的文档说 "only a single branch will be migrated"。如果是这样,我如何将两个分支迁移到我的新 Git 存储库 保持分支之间的 "relationship"?也就是说,在 Git 中,我仍然希望能够(比如说)修复 "Release_1.0" 分支中的错误,并将更改合并回 "Dev"。

对于这个问题,同意大牛的意见,可以使用git-tfs来实现这个迁移。

首先获取本地 git 存储库中的所有源代码历史记录(包括所有分支):

git tfs clone http://tfs:8080/tfs/DefaultCollection $/project/trunk . --branches=all

稍等片刻,从 TFS 中获取所有变更集甚至更长。

优点:

  • 您在 git 存储库中拥有全部历史记录
  • 管理分支之间的合并!一个分支合并到另一个分支中 在 git 存储库中具体化。

有关详细信息,请参阅此document and issue(将多个 TFS 分支克隆到一个 Git 存储库)。