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

mry*_*amz 6 git github git-push git-remote

我的本地分支不会上传,因为掌握,作为错误输出状态,"下载/ ue4-test-8.zip为363.08 MB,这超过了100.00 MB GitHub的文件大小限制为"我已经删除此文件,还没有任何提交我让被拒绝.

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

我怎样才能解决这个问题并重新推回这个回购?

这是我的输出日志:

~\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 !]>
Run Code Online (Sandbox Code Playgroud)

Kev*_*tel 8

我认为您已提交此文件。即使您删除该文件并进行新的提交,该文件也会保留在以前的提交中。并将git push所有缺失的提交发送到远程。

在推送之前你必须重写 git 历史记录。如果没有git log,我无法帮助您提供准确的命令。压缩提交可以完成这项工作。


mry*_*amz 7

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

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


小智 7

尝试:

git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD
git push
Run Code Online (Sandbox Code Playgroud)

  • 他为什么要这么做?那有什么作用?它如何回答这个问题?[如何回答](https://stackoverflow.com/help/how-to-answer) (4认同)

小智 6

检查是否安装了Git LFS,如果没有,则访问https://git-lfs.github.com/并下载Git 扩展以对大文件进行版本控制

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

git lfs install
Run Code Online (Sandbox Code Playgroud)

在您的情况下使用命令之后,git lfs migrate命令将是:

git lfs migrate import --include="*.zip"
Run Code Online (Sandbox Code Playgroud)

并使用以下命令推送到远程:

git push
Run Code Online (Sandbox Code Playgroud)