无法推送到Github(这超出了GitHub的文件大小限制)

时间:2017-07-27 06:12:13

标签: git github git-push git-remote

我的本​​地分支没有上传到master,因为,正如错误输出所述," downloads / ue4-test-8.zip是363.08 MB;这超过了GitHub的文件大小限制为100.00 MB"我已经删除了这个文件但是我提交的任何提交都被拒绝了。

  • 我删除了大文件。
  • 我认为一切都会好的,所以我将新文件添加到呼吸
  • 现在我在推送一个不存在的文件时会遇到错误

如何解决此问题并重新推回此回购?

这是我的输出日志:

~\Documents\GitHub\mryamz.github.io [master ↑6 +0 ~1 -0 !]> git push
Counting objects: 42, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (28/28), done.
Writing objects: 100% (42/42), 360.48 MiB | 668.00 KiB/s, done.
Total 42 (delta 18), reused 36 (delta 13)
remote: Resolving deltas: 100% (18/18), completed with 6 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: 92c21619bdc53df9a9cf2ed2b801c3d5
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File downloads/ue4-test-8.zip is 363.08 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/mryamz/mryamz.github.io.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/mryamz/mryamz.github.io.git'
~\Documents\GitHub\mryamz.github.io [master ↑6 +0 ~1 -0 !]> cd downloads
~\Documents\GitHub\mryamz.github.io\downloads [master ↑6 +0 ~1 -0 !]> dir


    Directory: C:\Users\admin\Documents\GitHub\mryamz.github.io\downloads


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        1/22/2017   4:58 PM          52509 Ampersand Studio v0.0.3.jar
-a----        1/11/2017   5:39 AM           3538 ascii_art .jar
-a----        7/26/2017   6:00 PM         133830 ClientSide.jar
-a----         3/3/2017   6:39 PM       69347251 Defend_The_Train.jar
-a----        1/11/2017   6:11 AM        2896549 Doppler_Effect.jar
-a----         1/9/2017   8:01 PM       10315457 friction_sim.jar
-a----        7/24/2017  11:45 PM         208804 jnativehook-2.1.0.jar
-a----        4/24/2017   9:15 PM         890923 Ludum_Dare_38.jar
-a----        4/23/2017   2:36 PM        1759272 Ludum_Dare_38_SRC.zip
-a----        5/12/2017  12:47 AM           6259 MBS.jar
-a----        2/18/2017   2:43 PM         226755 Pascals's Triangle.jar
-a----        2/18/2017   3:33 PM        1660624 Quadratic Calculator.jar
-a----        7/26/2017   5:27 PM          35977 RawPCM_Player.jar
-a----        1/11/2017   6:18 AM       10871259 Renassance v6.jar
-a----        2/16/2017   7:34 PM         116175 Scorched Earth.jar
-a----         5/8/2016   8:55 PM          18151 ServerSide.jar
-a----        7/26/2017   6:12 PM           9170 Simplix-Earth-Branch.jar
-a----        2/18/2017   2:38 PM          41453 Spirograph.jar
-a----        4/30/2017  12:44 PM         646609 sw.jar
-a----        1/11/2017   6:49 AM        1307614 Word Bank.jar


~\Documents\GitHub\mryamz.github.io\downloads [master ↑6 +0 ~1 -0 !]>

3 个答案:

答案 0 :(得分:2)

我认为你有这个文件的提交。即使您删除文件并进行新的提交,该文件也会保留在先前的提交中。并且git push将所有丢失的提交发送到远程。

在推送之前,您必须重写git历史记录。没有git log,我无法帮助您完成一个确切的命令。 Squashing Commits可以完成这项工作。

答案 1 :(得分:2)

我通过以下方式解决了这个问题:

  1. git stash
  2. git rebase -i
  3. 然后弹出一个文本编辑器,允许我在需要删除的提交旁边写下“删除”一词。提交已成功删除。
  4. git push

答案 2 :(得分:0)

尝试:

git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD
git push