【问题标题】:Git: fail to unpackGit:解压失败
【发布时间】:2015-11-13 17:16:31
【问题描述】:

我在我的存储库中做了很多更改,当然我忘记了我的 .gitignore 文件。

在此文件中,据说不应包含 /vendor 文件夹。此文件夹大小为 400mb。

所以我尝试推动我的项目,感谢:

git add -A
git commit -m "commit"
git push test master

失败了,因为项目太大:

error: unpack failed: error Object too large (201,984,000 bytes), rejecting the pack. Max object size limit is 104,857,600 bytes.

我再次添加了 .gitignore 文件,然后运行:

git rm -r --cached .

但是当我再次推送时,我仍然有同样的错误(大小相同),即使不再包含“供应商”文件夹。

这就像 git 保留了旧版本的提交......

你知道如何解决这个问题吗?

顺便说一句,我正在把它推到 springloops 上。

【问题讨论】:

    标签: git springloops


    【解决方案1】:

    git rm -r --cached . 修改索引,但不改变之前的提交(或创建新的提交)

    您需要先将 HEAD 重置为 git add -A . 之前:

    git reset @~
    

    (默认混合重置:重置 HEAD 索引)

    然后检查你的.gitignoregit status,添加、提交和推送。

    【讨论】:

    • 我已经测试过在 git rm -r 缓存后执行 git reset,但没有成功... git status 没有告诉我供应商目录已上传。出于一个奇怪的原因,我的文件夹(没有供应商只有 40mb)在 git 上占用了 200mb
    • @Vico 你做了git reset 还是git reset @~?。在任何情况下,请使用rtyley.github.io/bfg-repo-cleaner 检查历史记录中的任何大文件
    • 我都做了,但我的存储库中没有任何大文件。最大的文件是供应商目录中的 tar (200mb),但是 git rm file_name 没有给出结果,因为它不包含在存储库中...
    【解决方案2】:

    我所做的只是删除 .git 文件夹,然后再次 git init。它现在可以正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 2018-10-06
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多