Github文件大小限制改变了6/18/13。 现在不能推

截至2013年6月18日这个变化如何影响我的现有仓库超过这个限制的文件? 我最后推了2个月前的一个大文件。

我有一个大的文件,我已经在本地删除,但我现在不能推任何东西。 我得到一个“远程错误”…远程:错误:文件cron_log.log是126.91 MB; 这超过了100 MB的GitHub的文件大小限制

我原来的推后,文件添加到.gitignore …但它仍然存在于远程(起源)

删除它在本地应该摆脱原点(Github)的权利? 但是…它不会让我推,因为Github上有一个超过限制的文件…

https://github.com/blog/1533-new-file-size-limits

这些是我发出的命令加错误信息

 git add。
 git commit -m“delete cron_log.log”
 git推送起源大师

远程:错误代码:40bef1f6653fd2410fb2ab40242bc879
远程:警告:错误GH413:检测到大文件。
远程:警告:有关更多信息,请参阅http://git.io/iEPt8g。
远程:错误:文件cron_log.log是141.41 MB; 这超过了100 MB的GitHub的文件大小限制
远程:错误:文件cron_log.log是126.91 MB; 这超过了100 MB的GitHub的文件大小限制

 https://github.com/slinds(omited_here)/linexxxx(omited_here).git
  !  [远程拒绝]主控 - >主控(预接收勾拒)
错误:未能推动一些裁判'https://github.com/slinds (omited_here)

然后我尝试了类似的东西

git rm cron_log.log git rm --cached cron_log.log 

同样的错误。

正如rlb.usa指出的,Github已经添加了一个文件大小限制,可以防止你推送大于100MB的文件。 你试图删除一个新的提交文件,并试图推动。 那失败了,因为你不只是推动最后一次提交,还有三次提交。 这三个提交包含141MB和126MB大小的cron_log版本。 他们导致你的推动失败。

要解决这个问题,你有两个select:

  • 运行git rebase -i origin/master ,设置每个提交以编辑并删除每个文件,使用git commit --amend
  • 使用BFG Repo-Cleaner清理所有的历史logging。

嗨,你可以用这种方式轻松解决:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILENAME.TAR' --prune-empty --tag-name-filter cat -- --all

链接: https : //help.github.com/articles/remove-sensitive-data

根据GitHub的新文件大小限制 (还有: 处理大文件 ),GitHub在几个小时之前就制定了一个1GB的文件大小的存储库的新策略,超过50MB的文件大小的警告,以及100MB的文件上载的完全拒绝。

当你推送大于50 MB的文件时,GitHub会提醒你。 我们将拒绝包含大于100 MB的文件。 我们这样做有几个原因。

你有几个select,但不是很多:

  • 上传您的100 MB +文件到不同的服务,并与之分享
  • 减less有问题的文件的文件大小
  • find一个新的存储库

GitHub上每个文件的实际限制是100 MiB,而不是100 MB。

演示: https : //github.com/Franck-Dernoncourt/github-max-file-size


https://help.github.com/articles/what-is-my-disk-quota/ ( 镜像 )错误地声称他们放置超过100 MB大小的文件的严格限制

推送时可以看到MB和MiB之间的混淆:在下面的例子中,来自GitHub服务器的错误信息表明该文件是101 MB,而git正确表明它是101 MiB:

 ~\Documents\GitHub\test123 [master ↑1 +3 ~0 -0 !]> git push Counting objects: 3, done. Delta compression using up to 8 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 101.03 MiB | 896.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), completed with 1 local objects. remote: error: GH001: Large files detected. You may want to try Git Large File S torage - https://git-lfs.github.com. remote: error: Trace: e9206a9cd05c4ff5de79bba9d4caf9df remote: error: See http://git.io/iEPt8g for more information. remote: error: File 101MB is 101.00 MB; this exceeds GitHub's file size limit of 100.00 MB To https://github.com/Franck-Dernoncourt/test123.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://github.com/Franck-Dernoncourt/test12 3.git' ~\Documents\GitHub\test123 [master ↑1 +3 ~0 -0 !]> 

使用这个Python脚本来清理你的大型文件的回购(我用它来回购,它工作得很好) https://gist.github.com/1433794

我试了几个上述的答案,没有运气。 但最终我find了一个使用Github桌面的解决scheme。 点击“存储库”,“撤消最近的提交”。 它允许我做两次,只是去除违规的提交。 (我已经从存储库中删除了大文件)。