使用GIT TFS工具将TFS迁移到GIT不迁移所有分支和分支的某些更改
我正在尝试使用GIT TFS工具将TFS迁移到GIT,其中包含所有具有历史记录的分支。但我只成功地获得了少数分支,其他分支缺少历史记录(最近一次)。很少有分支甚至没有迁移。 我使用了以下命令进行迁移:使用GIT TFS工具将TFS迁移到GIT不迁移所有分支和分支的某些更改,git,tfs,git-tfs,Git,Tfs,Git Tfs,我正在尝试使用GIT TFS工具将TFS迁移到GIT,其中包含所有具有历史记录的分支。但我只成功地获得了少数分支,其他分支缺少历史记录(最近一次)。很少有分支甚至没有迁移。 我使用了以下命令进行迁移: git tfs clone <tfsurl> <trunk> --branches=All --debug 我也在相关的帖子中寻找过类似的问题,但没有一个能提供解决方案。例如: 我希望将所有分支和历史记录从TFS迁移到GIT存储库。这不是一个由第三方团队处理的官方工具。
git tfs clone <tfsurl> <trunk> --branches=All --debug
我也在相关的帖子中寻找过类似的问题,但没有一个能提供解决方案。例如:
我希望将所有分支和历史记录从TFS迁移到GIT存储库。这不是一个由第三方团队处理的官方工具。根据: 该项目不再积极维护,因为我们不再 TFS的用户。因此,git-tfs非常有用,不能免除not 支持的用例。如果您遇到遗漏或问题, 请捐款,我们将很高兴帮助您 记住: 修复问题的最快方法是提交修复问题的PR 修好它最慢的方法就是希望别人能修好它 在尝试使用Git TFS进行迁移之前,您应该知道TFVC和Git存储历史记录的方式有着根本的区别:
- Git将历史记录作为存储库的快照及时存储,而TFVC则记录在文件上发生的离散操作。更改
TFVC中的重命名、取消删除和回滚等类型无法表示
吉特;您可以
仅查看文件A已删除,文件B已添加到同一位置
承诺 - Git没有TFVC标签的直接模拟:标签可以包含任何特定版本的任意数量的文件,并且可以反映 不同版本的文件。尽管概念上相似,Git 标记指向存储库中某一点的整个存储库的快照 时间如果您依赖TFVC标签来了解交付的内容,Git 标签可能无法提供此信息
- TFVC中的合并发生在文件级别,而不是整个存储库。您只能合并一个文件中已更改文件的子集 分支到另一个,然后将其余更改的文件合并到 后续变更集。在Git中,合并会影响整个系统 并且您不能将两组单独的更改都视为一个整体 合并
似乎有几种方法和解决办法。您可能需要深入研究它们,并根据自己的情况找到正确的方法。感谢@patricklu msft提供的详细信息,我还发现下面的命令对于检索更多在clone命令中失败的分支非常有用。git tfs分支-init--all@DharmendraKumar感谢您的有用分享,这也将帮助社区中的其他人。
Looking for changeset 78197 in git repository: CacheIsFull, stopped looking.
error: an error occurs when initializing the branch. Branch is ignored and continuing...