使用所有分支恢复 gitlab 备份存储库捆绑文件

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案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 吗? (***.com/a/3745250/6309) 但首先,您是否有包含在捆绑包中的标签? (***.com/a/5720366/6309) 是的。结果发现,当他们创建捆绑包时,他们没有使用正确的参数。后来我们转向推拉。您必须 git checkout 每个分支,然后才能推送到新的空仓库。太简单。 :-)

以上是关于使用所有分支恢复 gitlab 备份存储库捆绑文件的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab---代码库备份的迁移与数据恢复

IntelliJ Gitlab 在本地恢复到旧分支而不影响远程分支

gitlab备份恢复升级

如何将本地文件夹连接到 Git 存储库并开始对分支进行更改?

Gitlab的备份与恢复

gitlab备份与恢复