代码之家  ›  专栏  ›  技术社区  ›  mryamz

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

  •  14
  • mryamz  · 技术社区  · 7 年前

    我的本地分支没有上传到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 !]>
    
    4 回复  |  直到 3 年前
        1
  •  6
  •   Kevin Robatel    7 年前

    我认为你对这个文件有一个承诺。即使删除该文件并进行新的提交,该文件也会保留在以前的提交中。和 git push 将所有缺少的提交发送到远程。

    你必须这么做 在推它之前。没有 git log Squashing Commits

        2
  •  5
  •   mryamz    7 年前

    我通过以下方法解决了此问题:

    1. 暂存
    2. git rebase-i
    3. 然后一个文本编辑器弹出,允许我在需要删除的提交旁边写下“drop”一词。已成功删除提交。
    4. git推送
        3
  •  5
  •   Arpit Maheshwari    5 年前

    尝试:

    git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD
    git push
    
        4
  •  1
  •   Dharman GPuri    2 年前

    Git LFS 如果没有,那么 https://git-lfs.github.com/ 和下载 用于大文件版本控制的Git扩展

    然后在运行下载的exe文件后运行此命令进行安装。

    git lfs install
    

    使用后 git lfs migrate 命令

    git lfs migrate import --include="*.zip"
    

    和推送远程使用:

    git push