文件太大会导致无法推送

时间:2017-06-17 14:59:50

标签: git github repository

由于超出最大尺寸的文件,我无法推送。我已经看到有类似的讨论,但按照我未能解决的各种解决方案。 这里是命令git push的错误:

Counting objects: 249, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (127/127), done.
Writing objects: 100% (130/130), 2.15 MiB | 48.00 KiB/s, done.
Total 130 (delta 93), reused 1 (delta 0)
remote: Resolving deltas: 100% (93/93), completed with 49 local 
objects.
remote: error: GH001: Large files detected. You may want to try Git 
Large File Storage - https://git-lfs.github.com.
remote: error: Trace: 8be5f11b65960921d4f91b11ce867549
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File release/RandomSamples.txt is 112.68 MB; this 
exceeds GitHub's file size limit of 100.00 MB
To HERE ADDRESS REPOSITORY
! [remote rejected] MYBRANCH -> MYBRANCH (pre-receive hook declined)

我该怎么办?

2 个答案:

答案 0 :(得分:1)

我这样解决了: 我想做推,但我不能,因为有一个文件太大。然后我想做:

git add -A .
git commit -m "Remove deleted files"
git push

删除这个太大的文件。但我不能,因为存在太大的文件。与

git status

我看到我在远程存储库中提前3。因此我做了:

git reset HEAD^
git reset HEAD^
git reset HEAD^

(HEAD ^因为我在Unix系统上,否则HEAD-1可能是) 后来再次

git add -A .
git commit -m "Remove deleted files"
git push

这次是有效的,而且我可以从远程删除这个该死的文件。

全部

答案 1 :(得分:0)

正如Choroba在您的问题的回答中所建议的那样,并且控制台输出本身已经建议您使用Git LFS for this

如果对象是如此之大,是否真的需要将对象存储在源代码控制中,总是值得考虑,可能有更好的解决方案。如果它是一个不会改变的二进制依赖,那么有更好的解决方案,例如工件存储库,如果它是你项目的构建工件,你真的应该在源代码控制中分发吗?