【问题标题】:can't push huge git commit无法推送巨大的 git commit
【发布时间】:2015-09-04 18:31:31
【问题描述】:

我有一个巨大的 11Gb 存储库,其中包含 Android 资源。 我用“git init”创建了repo,然后用“git commit --all”创建了一个提交。 当我发出“git push -u origin --all”时,我无法将其推送到远程仓库 它卡在执行中 "git pack-objects --all-progress-implied --revs --stdout --thin --delta-base-offset --progress" 。正如 iotop 所说,读取数据的速度约为 1Mb/s。 bitbucket 拒绝并显示消息“致命:远程端意外挂断”,并且由于 git 在本地完成工作,因此尚未推送任何内容。 如何禁用这种包装并走得更远?

【问题讨论】:

    标签: git push bitbucket


    【解决方案1】:

    git gc 帮助。

    /s/wand$ git gc
    Counting objects: 346126, done.
    Compressing objects: 100% (328144/328144), done.
    Writing objects: 100% (346126/346126), done.
    Total 346126 (delta 67519), reused 0 (delta 0)
    Removing duplicate objects: 100% (256/256), done.
    Checking connectivity: 346126, done.
    /s/wand$ git push -u origin --all
    Counting objects: 346126, done.
    Compressing objects: 100% (260625/260625), done.
    Writing objects: 100% (346126/346126), 3.11 GiB | 2.62 MiB/s, done. 
    Total 346126 (delta 83231), reused 330414 (delta 67519)
    To git@bitbucket.org:repu1sion/wand.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    

    【讨论】:

    • 我试图将大约 5GB 的大型存储库移动到另一个 git 主机。为此,我使用了适用于 Windows 的 Tortoise Git GUI,每次尝试大约 1GB 时它都会挂断。在同一系统上使用 git bash 对我推送存储库很有帮助。
    【解决方案2】:

    你的仓库是way too big for Bitbucket:

    为了提高和维护所有使用 Bitbucket 的用户的整体性能,我们正在对新创建的存储库实施大小限制。从 [2014 年 5 月 30 日] 开始,存储库大小限制为:

    • 软限制为 1 GB - 产品内通知和电子邮件通知会提醒您您正在接近限制。
    • 硬限制 2 GB - 推送到存储库将被禁用,直到您回到限制之下。

    【讨论】:

    • 在我已经推送存储库并切换到只读模式后,如何减小存储库的大小?
    • @pulse,“在我已经推送它并切换到只读模式之后”是什么意思?无论您如何切片,从 11GB 到 1GB 都将是困难的。大多数基于 Android 的项目由几个较小的 Git 存储库组成,而不是一个巨大的存储库。这些通常使用名为repo 的工具进行管理。
    • 克里斯,在 git push 完成执行后,我在终端收到一条消息,提示已超过 2Gb 限制,现在存储库处于只读模式。我试图推动一个空的下一次提交 - 它被禁止了。所以问题是 - 如果唯一的选项是“删除”,我该如何减少存储库的大小?
    • @pulse,我想您必须减小存储库的大小(例如,按照我的建议将其拆分为多个存储库,从历史记录中删除大文件等)并强制推送新的存储库。这些选项中的任何一个都应该被充分理解。由于您使用的是 Android,我强烈建议您使用 repo,但您的存储库大小可能仍然存在问题。
    猜你喜欢
    • 2019-08-10
    • 2011-07-16
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    相关资源
    最近更新 更多