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