将Git代码库迁移到新的TFVC代码库

6
如何使用git-tfs将现有的Git存储库镜像/复制到一个新的TFS 2010 TFVC存储库?现有的Git存储库并非从TFS克隆而来。
为了长期保存并在每次发布生产版本时更新源代码,我需要将远程/本地Git存储库中的主分支源代码移动到新的TFVC存储库中。我尝试使用git-tfs来完成这个任务,但它似乎需要从最初从TFS克隆的Git存储库开始,这是不可能的。我可能会考虑使用git-tf,但我工作的公司是一个微软公司,出于政治原因,我更愿意使用一个更加面向Microsoft的解决方案,而不是使用需要Java的解决方案。

在我看来,git-tf 是目前你最好的选择,或者你可以将其作为升级到 TFS 2013+ 的案例,以获得其 Git 支持。 - Taegost
1
该组织计划迁移到TFS 2015以使用Git。但是机器移动缓慢,因此我们不得不暂时将Git存储库放在TFS 2010中。我现在正在使用git-tf,它几乎可以工作。我无法在checkin --deep上使--keep-author工作,因为当它调用TFS ReadIdentities Web服务API方法时,我收到500个内部服务器错误。那是另一个问题! - Bryan Ambrogiano
git-tfs 不是正确的选择。而且你的公司会很高兴,因为 git-tf 是一个(不再维护的)微软项目。但它仍然是正确的选择... - Philippe
感谢澄清。我已决定使用git-tf,除了--keep-author错误外,它的表现符合预期。我们在完成发布并需要更新TFVC存储库时,我将继续使用它作为我们的标准做法。 - Bryan Ambrogiano
1个回答

5
您可以通过以下步骤将本地仓库主分支的所有历史记录迁移到新的TFVC团队项目:
  1. 创建一个空的TFVC团队项目
  2. 进入您的本地Repo文件夹,并使用 git-tf checkin --deep 命令将本地仓库检入到TFVC团队项目中。默认情况下,checkin命令将为自上次检入TFS以来在Git上对当前分支所做的所有更改创建一个单个TFS变更集。当与--deep选项一起使用时,将为当前分支上自上次检入TFS以来的每个Git提交创建一个TFS变更集。

enter image description here


谢谢Cece - MSFT。我就是这么做的,结果如预期一样。 - Bryan Ambrogiano
@BryanAmbrogiano,能否告诉我如何将您的远程Git Repo克隆/迁移到远程TFVC Repo?可以分享一下步骤吗? - Bubble Bub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接