Github-文件XYZ为126.80MB;这超过了GitHub';s文件大小限制为100.00 MB

Github-文件XYZ为126.80MB;这超过了GitHub';s文件大小限制为100.00 MB,github,Github,我有一个本地存储库,其中意外添加了一个大文件。现在我差不多落后100人了。当我尝试推送到GitHub时,它会给我一个错误 我需要帮助做任何我需要做的事情,以便能够推动此存储库的其余部分 我不需要这个文件,可以永久删除它 (旁注:这是一个包含IPython节点和代码的目录。我有一个脚本自动推送它,这就是为什么我几乎落后了100次提交。我只是注意到它没有同步) 以下是我尝试过但没有成功的方法: 论分行行长 您的分支比“原始/主分支”提前100次提交。 (使用“git push”发布本地提交) 没有要

我有一个本地存储库,其中意外添加了一个大文件。现在我差不多落后100人了。当我尝试推送到GitHub时,它会给我一个错误

我需要帮助做任何我需要做的事情,以便能够推动此存储库的其余部分

我不需要这个文件,可以永久删除它

(旁注:这是一个包含IPython节点和代码的目录。我有一个脚本自动推送它,这就是为什么我几乎落后了100次提交。我只是注意到它没有同步)

以下是我尝试过但没有成功的方法: 论分行行长 您的分支比“原始/主分支”提前100次提交。
(使用“git push”发布本地提交)
没有要提交的内容,正在清理目录

重写d381c7d5037a6a26abb2b5cef06e57d8b86a398b(95/189)rm“教育/课程/探索性数据分析/周1/家庭用电”
..
重写f639b57714a5d57ff37b9d4a55c1c69fc0b514a8(176/189)rm“教育/课程/探索性数据分析/每周/家庭用电”
重写587C8B65F19315EBE6627A75BD703A5DBDEC208(189/189)

Ref“Ref/heads/master”已重写
警告:Ref“Ref/remotes/origin/master”未更改

致命:pathspec“Education/Coursera/Explorative Data Analysis/Week1/House_power_Consument.txt”与任何文件都不匹配

警告:push.default未设置;它的隐式值在Git2.0中从“匹配”变为“简单”。要压制此消息并在默认更改后保持当前行为,请使用:

git config——全局推送默认匹配

要立即消除此消息并采用新行为,请使用:

git config--global push.default simple

当push.default设置为“matching”时,git会将本地分支推送到已经存在的同名远程分支

在Git2.0中,Git将默认为更保守的“简单”行为,这只会将当前分支推送到“Git pull”用于更新当前分支的相应远程分支

有关更多信息,请参阅“git帮助配置”并搜索“push.default”。
(Git 1.7.11中引入了“简单”模式。如果有时使用较旧版本的Git,请使用类似的模式“当前”而不是“简单”)

计数对象:841,完成。
增量压缩最多使用2个线程。
压缩对象:100%(578/578),完成。
写入对象:100%(835/835),31.79 MiB | 3.14 MiB/s,完成。
总计835(增量196),重复使用0(增量0)

远程:警告:File.git rewrite/t/Education/Coursera/explorative Data Analysis/Week1/house_power_consumpion.txt为74.92 MB;这大于GitHub建议的最大文件大小50.00 MB
远程:警告:File.git rewrite/t/Education/Coursera/explorative Data Analysis/Week1/house_power_consumpion.txt为69.38 MB;这大于GitHub建议的最大文件大小50.00 MB

远程:错误:GH001:检测到大文件。
远程:错误:跟踪:f013f5e75b4f35d07de5d2d9ef1116bd
远程:错误:有关详细信息,请参阅。
远程:错误:File.git rewrite/t/Education/Coursera/explorative Data Analysis/Week1/house_power_consumpion.txt为126.80MB;这超出了GitHub的100.00 MB文件大小限制

到git@github.com:rboac/IPython-Notebooks.git ! [远程拒绝]主机->主机(拒绝预接收挂钩)
错误:无法将某些引用推送到'git@github.com:rbohac/IPython笔记本电脑。git'


确保您的最新提交是正确的,因为BFG将假定这一点,并在重写和清理Git历史记录时使用您的最新提交来维护repo的状态。BFG与“git filter branch”类似,但它是一个为更具体的目的而编写的实用程序,而git实用程序更广泛,功能更多,但其操作效率较低。阅读有关BFG的文档了解更多细节,因为我从那个来源获得了所有这些信息

brew install bfg
bfg --strip-blobs-bigger-than 50M
git rm --cached XYZ
git commit --amend -CHEAD
git push
BFG将更新您的提交以及所有分支和标记,使它们保持干净,但不会实际删除任何内容。检查repo以确保所有内容都正确无误,然后清除缓存并运行“git gc”以去除不需要的数据,git现在可以识别这些数据,因为这些数据已从历史记录中删除

进一步:

在使用
brew安装bfg
安装后,我在使用bfg时遇到了问题,尽管我通常在使用自制软件时取得了巨大成功

这就是我的工作原理:

  • 从下载最新的bfg

  • 像这样执行bfg,然后输入@davidcondrey建议的其余命令

    cd /my/repo
    java -jar ~/Downloads/bfg-1.12.5.jar --strip-blobs-bigger-than 99M
    git rm --cached XYZ
    git commit --amend -CHEAD
    git push 
    

    • 另一个解决方案没有使用
      bfg
      ,我使用了这个脚本 由布鲁诺·格兰德开发

      执行前请阅读脚本,并理解每个步骤

      简要说明:它考虑了一个本地重新基址,在包含大文件的地方编辑提交(从git中删除它,而不是从物理上删除),然后
      修改提交并最终推送(这将包括在尝试修复它之后所做的任何其他提交)


      我也有同样的问题,我的方法如下:我从git中删除了该文件,还更新了我的
      .gitignore
      ,并提交了这些更改,但仍然面临相同的错误。在完成脚本的每个步骤(手动)后,问题就解决了,请注意,推送将包括您在本地完成的所有提交。

      trued bfg
      ubuntu@ip:~$java-jar bfg-1.12.3.jar--剥离大于50M的blob--无blob保护iPythonNotes/.git使用repo:/home/ubuntu/iPythonNotes/.git扫描包文件以查找大blob在8毫秒内完成。警告:无匹配的大blob打包文件中的标准-是否需要打包回购?Ple
      
      git rm "Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt"
      
      git push
      
      brew install bfg
      bfg --strip-blobs-bigger-than 50M
      git rm --cached XYZ
      git commit --amend -CHEAD
      git push
      
      cd /my/repo
      java -jar ~/Downloads/bfg-1.12.5.jar --strip-blobs-bigger-than 99M
      git rm --cached XYZ
      git commit --amend -CHEAD
      git push