我一直在我的家庭本地服务器 (Mac Mini) 中托管裸存储库。
它一直执行得非常慢(可能是由于缺乏对大文件的 git 优化)
因此,为了解决这个问题,我正在考虑将我的裸仓库移动到 BitBucket 私有(private)仓库。只是为了试一试。
当我尝试从我的裸存储库导入到 bitbucket 时。它有很多问题,比如它只导入了我的暂存分支。
当我这样做的时候
git branch
在 git bare repo 目录中
它只在我的分支列表中显示我的分期。
然后我执行 git fsck --full
。
它显示了许多与包相关的错误。
另一个问题是,在 git bare repo 目录中,我发现了另一个与 repo 目录本身同名的文件夹。例如:我的 repo 目录名称是 repo.git/。这继续到 repo.git/repo.git/repo.git/repo.git。
从这些问题来看,我想我把我的裸仓库搞砸了。所以我想删除这个裸仓库并从我的普通/非裸仓库导入到 bitbucket。
所以我的问题是: 从裸存储库导入和从非裸存储库导入有什么区别,即使是很小的区别吗?
提前致谢。
最佳答案
is there any difference even any small difference, to import from bare repository and to import from non-bare repository?
不,只要你的裸仓库有你所有的分支。
从(非裸) repo 推送是 explained here :
If you want, you can push several branches at once to your Bitbucket repository. To do this, do the following:
- 列出所有分支以确保您拥有所需的:
git branch -a
- 确保本地存储库中的远程
origin
指向 Bitbucket。
例如,如果您将 ssh 与 Bitbucket 一起使用,您将使用以下命令:
git remote set-url origin ssh://git@bitbucket.org/youraccount/reponame.git
- 然后将所有分支推送到 Bitbucket:
git push -u origin --all
.
关于Git:从裸机或非裸机导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896085/