Git:从裸仓库或非裸仓库导入

3

我一直将裸仓库托管在我的本地服务器(Mac Mini)中。

由于 Git 没有针对大文件进行优化,因此它的性能非常慢。

为了解决这个问题,我考虑将裸仓库迁移到 BitBucket 的私有仓库中,只是试一试。

但是,当我尝试从我的裸仓库导入到 BitBucket 时,遇到了很多问题,例如它只会导入我的暂存分支。

而且当我执行

git branch

在Git裸库目录中,我的分支列表只显示了我的暂存区,然后我运行了git fsck --full,它显示了许多与pack相关的错误。另一个问题是,在Git裸库目录中,我发现还有一个与库目录本身同名的文件夹。例如:我的库目录名称为repo.git/,这个继续到repo.git/repo.git/repo.git/repo.git。
从这些问题来看,我认为我严重搞砸了我的裸库。所以我想删除这个裸库并从我的普通/非裸库导入到Bitbucket。
我的问题是: 从裸库导入和从非裸库导入是否有任何区别,即使只有很小的差异?
提前感谢你。
1个回答

4

从裸仓库导入和从非裸仓库导入有区别吗?即使只有微小的区别也可以。

没有区别,只要你的裸仓库包含了所有分支。

从(非裸)仓库推送的方法在这里有解释:

如果需要,您可以一次将多个分支推送到Bitbucket存储库。为此,请执行以下操作:

  • 列出所有分支以确保您拥有所需内容:
    git branch -a
  • 确保本地仓库中的远程origin指向Bitbucket。
    例如,如果您使用Bitbucket的ssh,则应使用以下命令:
    git remote set-url origin ssh://git@bitbucket.org/youraccount/reponame.git
  • 然后将所有分支都推送到Bitbucket:git push -u origin --all

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接