Git:从裸机或非裸机导入

标签 git repository git-bare

我一直在我的家庭本地服务器 (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/

相关文章:

windows - git config pack.packSizeLimit 的上限?

git - 是否可以从一个 repo 协议(protocol)中提取并推送到另一个 repo 协议(protocol)中?

安装新版本的 R 后恢复所有 R 包?

git - 如何在现有的裸存储库中创建 reflogs 信息

git - 如何将普通的 Git 存储库转换为裸存储库?

php - 你如何在远程服务器上执行自动 git pull?

git - 如何运行 git pre-commit Hook 以强制暂存文件的测试覆盖率不会降低?

windows - Git: 无法推送 {n/a (unpacker error)}

git-bash - 使用git如何将代码从一个分支转移到另一个现有分支(不一定是master)?

git - 如何更新下载为 ZIP 文件的 GitHub 项目?