将克隆的TFS存储库推送到具有历史记录的私有存储库

时间:2020-08-07 18:33:53

标签: git tfs

完成后,我使用git-tfs clone <tfs-url>命令将TFS存储库克隆到了本地计算机amd,打开了文件夹并进行了git log,可以看到所有美好的历史。

现在,当我创建一个新的私有存储库并将该存储库克隆到本地时,然后将TFS(我刚刚克隆到我的本地存储库)中的所有对象复制粘贴到新存储库中,然后git push粘贴,看到美丽的历史,我只有1条历史将其推向新的仓库。我需要完整保留TFS回购中的旧历史记录。我该怎么办?

此外,idk如果有帮助,但是当我在本地计算机上打开克隆的TFS文件夹并执行git remote -v时,根本没有任何远程,它只是空的,我想git-tfs clone会添加git remote自动但没有。与git clone不同的是,here

中会自动创建一个称为origin的远程连接,该连接指向已复制的存储库

3 个答案:

答案 0 :(得分:1)

nvm找到了答案

git remote add <origin-url>

git push origin master

答案 1 :(得分:0)

现在,当我创建一个新的私有存储库并将该存储库克隆到本地时,然后将TFS(我刚刚克隆到我的本地存储库)中的所有对象复制粘贴到新的存储库中,并用git push它,我看不到历史,我只有1条历史将其推向新的仓库。我需要完整保留TFS回购中的旧历史记录。我该怎么办?

您所做的不是推翻历史记录,而只是提交源代码的提示。

看看我在git-tfs文档中写的内容,以便向您新创建的git存储库添加一个远程服务器并推送历史记录:

https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/migrate_tfs_to_git.md#add-a-remote-toward-git-central-repository

此外,idk如果有帮助,但是当我在本地计算机上打开克隆的TFS文件夹并执行git remote -v时,根本没有任何远程,它只是空的,我认为git-tfs克隆会添加git自动远程,但没有。

这是git-tfs无法做到的,没有任何意义。 Git-tfs不知道新创建的存储库(并且不将TFVC链接作为git远程进行管理,以免混淆用户)。

答案 2 :(得分:0)

我需要完整保留TFS回购中的旧历史记录。

对于Git,只需使用导入存储库功能,就可以将Git存储库从其他项目的git存储库导入到您的团队项目中。新导入的存储库将保留所有提交历史记录。有关详细信息,请参阅此document

enter image description here

导入回购功能是TFS 2017 Update 1中引入的。如果您使用的是TFS 2017 RTM或更早版本,则可以使用以下步骤来manually import a repo into TFS

git clone --bare {clone repo url}
cd repo name.git
git push --mirror {target repo url}

如果您不知道路径,我们可以调用cmd dir来加载文件列表,然后找到路径。

enter image description here

相关问题