Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GIT TFS工具将TFS迁移到GIT不迁移所有分支和分支的某些更改_Git_Tfs_Git Tfs - Fatal编程技术网

使用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工具将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中,合并会影响整个系统 并且您不能将两组单独的更改都视为一个整体 合并

由于这些差异,我们通常建议用户进行tip迁移,并使其TFVC存储库保持在线,但以只读方式查看历史记录。

这是微软将Windows和其他产品从集中式版本控制迁移到Git时采用的方法

对于tip迁移,只需使用官方

如果您坚持使用git tfs,我也遇到了一些类似的问题,有多个根本原因,例如一些分支被重命名(删除并创建了一个新分支)、无限循环拉特定分支、死分支、长克隆等等


似乎有几种方法和解决办法。您可能需要深入研究它们,并根据自己的情况找到正确的方法。

感谢@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...