我需要将相对较大的代码库从TFS移到git并保留历史记录。 Plenty的examples用于执行此操作,但没有任何内容涵盖tfs中需要成为克隆git仓库中的分支的分支。
如果您尝试这些示例,您的克隆存储库将只有一个主分支,每个TFS分支都有子文件夹。这是一个严重的问题,因为分支之间的源代码历史将丢失。
从我看来,没有任何工具可以迁移并可靠地保存历史记录,但请回答这个问题来证明我的错误。
修改:This link suggests that there is no support for proper migration
git-tf将单个TFS文件夹(例如$ / project / main)映射到git存储库。我们不会将TFS分支镜像/映射到git分支,因为分支在两个系统中都是根本不同的。
编辑2:git-tfs seems to be a better tool for exporting from TFS,它尊重分支,但在导入已重命名分支的较大TFS代码库时似乎失败了。有一个pull request of the project显示了进度,但在导入时仍会陷入一些无限循环。
我希望有一个git命令可以解决这个问题
答案 0 :(得分:1)
我能够通过修复git-tfs代码库中的一些小错误以及对我的TFS回购进行一些小修改来成功转换我的回购。详情如下。
底线:只需坚持不懈就可以将TFS repos克隆到git而不会丢失数据。 https://github.com/git-tfs/git-tfs/pull/480