【问题标题】:restore gitlab backup repository bundle file with all branches使用所有分支恢复 gitlab 备份存储库捆绑文件
【发布时间】:2015-05-04 11:55:08
【问题描述】:

我需要从 gitlab 备份中恢复一些存储库。此备份包含所有存储库的 .bundle 文件。如何恢复包含所有分支的完整存储库?

如果我运行git bundle list-heads myfile.bundle,我可以看到所有的分支。

我想使用所有分支在本地恢复该存储库,以将其推送到新的/空的 gitlab 存储库。

我尝试过使用 git clone、git pull 我能找到的所有其他技巧,但这只会导致一个只有 master 分支的 repo。

【问题讨论】:

    标签: git gitlab git-bundle


    【解决方案1】:

    如果是bundle was create with all branches,你应该可以看到git clone --mirror之后的所有分支:

    git clone --mirror /path/to/your/bundle yourRepo.git
    

    注意.git,因为--mirror 会创建一个bare repo

    【讨论】:

    • 但推送到另一个远程的裸 git repo 不会推送标签和之前的分支,例如git 标签在本地仓库(上述步骤)上显示它们,但在被推送到另一个远程后不会在新克隆上显示它们。为什么!
    • @codeslapper 你试过 git push --tags 吗? (stackoverflow.com/a/3745250/6309) 但首先,您是否有包含在捆绑包中的标签? (stackoverflow.com/a/5720366/6309)
    • 是的。结果发现,当他们创建捆绑包时,他们没有使用正确的参数。后来我们转向推拉。您必须 git checkout 每个分支,然后才能推送到新的空仓库。太简单。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多