我们有一个包含旧项目的本地DevOps Server 2019,我能够使用git-tfs将此项目克隆到本地Git存储库中。一切都好。之后,我可以将此存储库推送到我们的AzureDevOps Git存储库。一切正常。
现在我们有一些项目和同事希望将TFVC用于这些特殊项目。因此,我的想法是将这些项目从本地TFS克隆到Git,然后使用git-tfs rcheckin将其推送到我们的AzureDevOps项目。
但是当我使用“ git-fts rcheckin --remote azuretfs”时,出现“错误:最新的TFS提交应该是正在检入的提交的父项”
当我使用“ git-tfs checin --remote azuretfs”时,所有文件都被上载到AzureDevOps项目,但是没有历史记录。
那么谁能形容我该做什么?
注意:我不想使用Microsoft提供的MigrationTool,因为在验证工作项模板等过程中有很多错误。(我们不使用它...)
答案 0 :(得分:2)
对于那些寻找相同物品的人:
使用“旧” git tf工具(https://archive.codeplex.com/?p=gittf),可以将旧TFVC项目迁移到Azure DevOps(TVFC)。
如果要将旧的TFVC项目迁移到AzureDevOps(GIT),则应使用git tfs(http://git-tfs.com/)
答案 1 :(得分:1)
不能保证成功的尝试...
注意:正如我所说,您将只能从一个分支迁移历史记录。
git tfs clone
迁移此文件夹(以使用rcheckin
所需的git-tfs元数据进行git commit)RepoWithHistory
)将已迁移的历史存储库(称为NewRepo
)添加为本地远程服务器。还有git fetch
RepoWithHistory
的提交的元数据,其外观类似于:git filter-branch -f --msg-filter "sed 's/^git-tfs-id:.*$//g'" -- --all
。但是要小心,保持来自NewRepo
的提交中的元数据。git replace --graft <sha1_of_first_commit_of_RepoWithHistory> <sha1_of_last_commit_of_NewRepo>
嫁接2条历史记录(历史记录必须位于新历史记录的顶部)git rcheckin --no-merge
将历史记录迁移到TFVC(这将很长...)我希望它会有所帮助。
PS:也许您应该尝试在一小部分提交中进行操作,以便能够在真正的TFVC项目中进行操作之前验证它是否可以工作。