将TFS历史记录从另一个项目导入Git

时间:2018-11-26 11:12:32

标签: git tfs git-tfs

我正在尝试使用git-tfs将项目从TFS迁移到Git,该项目继承了TFS中较旧的,不再使用的项目的历史记录。为了使情况更清楚:旧项目已有5年的历史,然后在1年前创建了一个新项目,它是从旧项目中分支出来的。

我需要保留每个历史和每个分支。
从新项目中克隆多个分支是没有问题的,但是,我在阅读存储库的完整历史时很费力。

即clone命令开始从新项目下进行的第一个提交中读取提交,并忽略来自先前项目的所有旧提交。

在克隆操作期间,当文件链接到对先前项目所做的提交时,我看到未找到多个提交错误。

在Visual Studio中,每个文件的历史记录都链接到上一个项目中所做的提交。因此,在Visual Studio中,我可以看到6年的历史,而不是1年。

我可以单独克隆旧项目而不会出现问题(克隆前5年的历史),但是我想将这两个历史合并,因此当我检查每个文件的历史时可以看到整个编辑历史在Git中。

如何将两个VSTS项目中的提交拉到单个git repo中?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

我可以单独克隆旧项目而不会出现问题(克隆前5年的历史),但是我想将这两个历史合并,因此当我检查每个文件的历史时可以看到整个编辑历史在Git中。

如果您可以使用git-tfs在2个不同的git存储库中克隆2个历史记录,则一旦拥有2个存储库,您就可以:

  1. 在其中一个存储库中,向另一个存储库添加一个遥控器
  2. git fetch --all
  3. 使用git replace链接2个历史记录:https://git-scm.com/docs/git-replace#git-replace---graftltcommitgtltparentgt82308203