我们有一个大型的TFS存储库,我们希望将其迁移到git。
我们正在考虑使用git-tfs一段时间,以便在迁移时一切都能继续工作。
我们在整个代码中散布着大(或小,但变化迅速)的二进制文件,这些文件在整个历史记录中都已签入tfs。
我对git-tfs感到担心,但我无法找到以下答案:
git-tfs的真实来源是什么?是git服务器,tfs服务器还是某种混合服务器,还是以上都不是?
如果它是git服务器,那么在知道二进制文件存在的情况下,这将如何影响工作流程?
我们曾考虑使用lfs,但不确定此wuold如何与git-tfs一起玩。
我希望对此主题有所了解,因为仅进行迁移以查找二进制文件会使新的回购协议不可用,这将毫无意义。
答案 0 :(得分:0)
Git-TFS工具是 Team Foundation版本控制和Git之间的双向桥梁,可用于执行迁移。
这不是git服务器
有两个完全不同的事物,没有任何关系。
此工具类似于git-svn。它将TFS提交提取到git存储库中,并允许您将更新推回TFS。换句话说,您正在本地使用git存储库来对代码进行源代码控制,并且在编辑后,您可以将更改推回远程TFVC存储库。它起到了服务器的作用,就像您正常使用本地TFVC工作区一样。
如果您要尝试使用具有完整历史记录,超过导入工具支持的180天以上的历史记录进行迁移,或者要尝试包括多个分支和合并关系的迁移,Git-TFS也适用。
更多详细信息,请查看以下链接:https://github.com/git-tfs/git-tfs
由于TFVC和Git存储版本控制方式的差异 历史记录,我们建议您不要迁移历史记录。这是 Microsoft迁移Windows和其他操作系统时采取的方法 产品从集中版本控制到Git。
我们通常建议用户进行小费迁移并保留其TFVC 在线存储库,但只读以查看历史记录。
您还可以查看我们有关如何Import repositories from TFVC to Git
的官方教程答案 1 :(得分:0)
我们最终使用了git tf,这是一种不再受支持的产品。
好处是,它奏效了。
与git-tfs引起的各种问题不同:二进制文件已迁移损坏,并非所有历史记录都已迁移,还有其他我们不想解决的棘手问题。
我们还没有尝试过lfs,但是稍后可能需要。至少我们现在必须经历一个增量步骤。
TL; DR:-git-tfs对我们不起作用。 git-tf做到了。