我正在尝试使用git-tfs
将项目从TFS迁移到Git,该项目继承了TFS中较旧的,不再使用的项目的历史记录。为了使情况更清楚:旧项目已有5年的历史,然后在1年前创建了一个新项目,它是从旧项目中分支出来的。
我需要保留每个历史和每个分支。
从新项目中克隆多个分支是没有问题的,但是,我在阅读存储库的完整历史时很费力。
即clone命令开始从新项目下进行的第一个提交中读取提交,并忽略来自先前项目的所有旧提交。
在克隆操作期间,当文件链接到对先前项目所做的提交时,我看到未找到多个提交错误。
在Visual Studio中,每个文件的历史记录都链接到上一个项目中所做的提交。因此,在Visual Studio中,我可以看到6年的历史,而不是1年。
我可以单独克隆旧项目而不会出现问题(克隆前5年的历史),但是我想将这两个历史合并,因此当我检查每个文件的历史时可以看到整个编辑历史在Git中。
如何将两个VSTS项目中的提交拉到单个git repo中?
谢谢!
答案 0 :(得分:1)
我可以单独克隆旧项目而不会出现问题(克隆前5年的历史),但是我想将这两个历史合并,因此当我检查每个文件的历史时可以看到整个编辑历史在Git中。
如果您可以使用git-tfs在2个不同的git存储库中克隆2个历史记录,则一旦拥有2个存储库,您就可以:
git fetch --all
git replace
链接2个历史记录:https://git-scm.com/docs/git-replace#git-replace---graftltcommitgtltparentgt82308203