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

rbo*_*hac 8 github

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

我需要帮助做我需要做的任何事情才能推动这个存储库的其余部分.

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

(旁注:这是一个带有IPython节点和代码的目录.我有一个脚本自动推送它,这就是为什么我差不多100次提交.我只是注意到它没有同步)

这是我尝试过没有成功的事情:

git status
Run Code Online (Sandbox Code Playgroud)

在分支主机上你的分支在100个提交之前超过'origin/master'.
(使用"git push"发布你的本地提交)
没有提交,工作目录清理

git filter-branch --index-filter 'git rm --cached --ignore-unmatch "Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt"' --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

重写d381c7d5037a6a26abb2b5cef06e57d8b86a398b(189分之95)RM教育/ Coursera /探索性数据分析/ Week1/household_power_consumption.txt'
..
重写f639b57714a5d57ff37b9d4a55c1c69fc0b514a8(189分之176)RM教育/ Coursera /探索性数据分析/ Week1/household_power_consumption.txt"
重写587c8b65f19315ebeb6627a75bd703a5dbdec208 (189分之189)

Ref'refs/heads/master'被重写
警告:Ref'refs/remotes/origin/master'保持不变

git rm "Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt"
Run Code Online (Sandbox Code Playgroud)

致命:pathspec'Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt'与任何文件都不匹配

git push
Run Code Online (Sandbox Code Playgroud)

警告:push.default未设置; 它的隐含价值在Git 2.0中从"匹配"变为"简单".要在默认更改后压制此消息并维护当前行为,请使用:

git config --global push.default matching

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

git config --global push.default simple

当push.default设置为'matching'时,git会将本地分支推送到已存在的具有相同名称的远程分支.

在Git 2.0中,Git将默认为更保守的"简单"行为,它只将当前分支推送到'git pull'用于更新当前分支的相应远程分支.

有关详细信息,请参阅'git help config'并搜索'push.default'.
('简单'模式是在Git 1.7.11中引入的.如果你有时使用旧版本的Git,请使用类似模式'current'而不是'simple'

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

remote:警告:文件.git-rewrite/t/Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt是74.92 MB; 这大于GitHub建议的最大文件大小50.00 MB
远程:警告:文件.git-rewrite/t/Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt是69.38 MB; 这大于GitHub建议的最大文件大小50.00 MB

remote:错误:GH001:检测到大文件.
remote:错误:跟踪:f013f5e75b4f35d07de5d2d9ef1116bd
remote:错误:有关详细信息,请参阅http://git.io/iEPt8g.
remote:错误:文件.git-rewrite/t/Education/Coursera/Exploratory Data Analysis/Week1/household_power_consumption.txt是126.80 MB; 这超过了GitHub的文件大小限制为100.00 MB

到git@github.com:rbohac/IPython-Notebooks.git![远程拒绝] master - > master(pre-receive hook拒绝)
错误:未能将某些引用推送到'git@github.com:rbohac/IPython-Nickbooks.git'

dav*_*rey 9

确保您的最新提交是正确的,因为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
Run Code Online (Sandbox Code Playgroud)

BFG将更新您的提交以及所有分支和标记,以便它们干净,但它不会物理删除任何内容.检查repo以确保一切正确,然后清除缓存并运行'git gc'以去除Git现在将识别的不需要的数据,因为它已从历史记录中删除.

进一步:


Jus*_*ier 5

brew install bfg即使我通常在自制软件方面取得了很大的成功,在安装后也无法使用bfg 。

这对我有用: