【问题标题】:Pushing cloned TFS repo to a private repo with history将克隆的 TFS 存储库推送到具有历史记录的私有存储库
【发布时间】:2023-03-31 06:55:01
【问题描述】:

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

现在,当我创建一个新的私有 repo 并将该 repo 克隆到我的本地然后将所有对象从 TFS(我刚刚克隆到我的本地)复制粘贴到新 repo 和 git push 它时,我没有看到美丽的历史,我只有 1 次将它推向新的回购。我需要完整保留 TFS 回购的旧历史。我该怎么做?

另外,如果有帮助,我想知道,但是当我在本地计算机上打开克隆的 TFS 文件夹并执行 git remote -v 时,根本没有远程,它只是空的,我认为 git-tfs clone 会添加 git remote自动,但它没有。与git clone 不同,它会自动创建一个名为origin 的远程连接,指向here 中所述的克隆存储库

【问题讨论】:

    标签: git tfs


    【解决方案1】:

    现在,当我创建一个新的私有存储库并将该存储库克隆到我的本地然后将 TFS 中的所有对象(我刚刚克隆到我的本地)复制粘贴到新存储库并 git 推送它时,我看不到美丽历史,我只有 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 clone 会添加 git自动远程,但它没有。

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

    【讨论】:

    • 感谢您的回复,我看到了您的指示,我尝试 git remote add origin 但我收到 index.lock 错误,index.lock 文件仅在我尝试执行时创建该命令,因为我不能单击是,我必须单击否,然后 index.lock 消失。试图解决这个问题,人们说要杀死 ssh agent.exe 并重新启动虚拟机,但没有用
    【解决方案2】:

    我需要完整保留 TFS 存储库中的旧历史记录。

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

    TFS 2017 Update 1 中引入了导入 repo 功能。如果您使用的是 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}
    

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

    【讨论】:

    • 我尝试导入的 repo 是 3 GB+,并且 azure 网站上关于使用直接导入实用程序的文档指出 repo 必须小于 1 GB,所以我们不能采用这种方法
    【解决方案3】:

    nvm 找到了答案

    git remote add <origin-url>

    git push origin master

    【讨论】:

    • 你可以accept your answer。在这种情况下,其他人可以直接找到有用的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2022-08-07
    • 2014-01-03
    • 2014-07-10
    • 1970-01-01
    • 2019-08-27
    相关资源
    最近更新 更多