使用所有分支恢复 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 备份存储库捆绑文件的主要内容,如果未能解决你的问题,请参考以下文章
IntelliJ Gitlab 在本地恢复到旧分支而不影响远程分支