繁体   English   中英

从 TFS 迁移后合并 GIT 中的分支

[英]Merge branches in GIT after migration from TFS

我们有一个带有“Main”分支的 TFS 存储库。 然后我们将其分支到另一个“Main-MERGE”。 两者都是长期分支,但在某些方面我们进行了一些合并。 一切正常。

现在我们使用 git-tfs 将整个存储库迁移到 GIT。 一切似乎都没问题,我们正在 GIT 的两个分支上工作。

好吧,现在我们决定合并“Main-MERGE”->“Main”以只有一个“master”分支。 但这似乎是不可能的。 使用合并没有冲突,结果不符合预期。 似乎更多的是重写然后合并。

这是否意味着,当分支迁移到 TFS 时,无法像在 TFS 中那样合并文件? 历史上的一切似乎都很好。 迁移的提交似乎与父母有关。 如何找到问题并合并分支?

更新:

您应该能够合并正常迁移后的提交。 这就像您正在处理一个新的 git 存储库一样。 对于从 TFS 迁移的其他旧提交,您将能够看到它们的历史信息。 但是您无法合并单个提交,它们作为 Azure DevOps 存储库中的一个新提交绑定在一起。

Op 最终将更改返回到 TFS,然后合并并迁移回 GIT。 花了一些时间,但还好。


TFVC 和 Git 中的合并有一些区别:

  • TFVC 中的合并发生在文件级别,而不是整个存储库。 您只能将一个分支中已更改文件的子集合并到另一个分支,然后将剩余的已更改文件合并到后续变更集中。
  • 在 Git 中,合并会影响整个存储库,并且您无法将两组单独的更改视为合并。

在规划迁移时,您应该为 Git 选择一个新的分支策略。

不知道为什么在迁移后无法在 Git 中进行合并。 建议您仔细检查整个过程,是否有遗漏或错误。 您可以通过分步门户参考此博客: Migrating from TFVC to Git (for large repositories)

但是在您的情况下,由于您将合并这两个分支并且在您的 Git 存储库中只有一个“主”分支。

更好的方法是在从 TFVC 迁移到 Git 之前进行合并。 您可以首先在 TFVC 中拥有唯一的“主”分支。 之后,您可以在 Git Repo 中基于迁移的主分支创建一个分支。

此外,由于通过这种方式只迁移了一个分支。 仅迁移主分支支持基于主题分支的工作流。 您也可以考虑使用TFVC 导入工具

有关从 TFVC 迁移到 Git 的更多详细信息,请在此处查看我们的官方教程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM