当超过数据配额时,什么是最好的方法;“拆分”;这是github回购协议?
我在(一个已经很大的)回购协议中添加了几个~100万个文件。在下一次添加/提交/推送时,我收到以下错误:当超过数据配额时,什么是最好的方法;“拆分”;这是github回购协议?,git,github,quota,Git,Github,Quota,我在(一个已经很大的)回购协议中添加了几个~100万个文件。在下一次添加/提交/推送时,我收到以下错误: Git LFS: (0 of 1 files) 0 B / 28.35 KB batch response: http: This repository is over its data quota. Purchase more data packs to restore access. Docs: https://help.github.com/articles/purchasing
Git LFS: (0 of 1 files) 0 B / 28.35 KB
batch response: http: This repository is over its data quota. Purchase more data packs to restore access.
Docs: https://help.github.com/articles/purchasing-additional-storage-and-bandwidth-for-a-personal-account/
error: failed to push some refs to 'https://github.com/USERNAME/REPO_NAME
如果不支付更多的数据包费用(这在我目前的预算中是不可行的,尽管我在GitHub的一个学术帐户上做研究),如何解决这个问题
也许这是一个直截了当的问题,但我一直无法在网上找到指导原则:对于用户来说,将回购协议一分为二的建议方式是什么?我怀疑人们会简单地创建一个新的repo,将这些文件移到这个位置,然后在以前的repo中删除这些文件(删除过程中的所有分支)
还有其他选择吗?这很奇怪——这些文件中的大多数都小于1MB……当然,如果有一个大文件导致了问题,那么这个过程就会简单一些 您将遇到的挑战是,如果不重写存储库的历史,您真的无法使存储库变得更小。如果您同意重写历史记录,可以使用来批量修改历史记录,例如
--索引过滤器'git rm--cached--ignore unmatch path/to/big/file'
(或者使用--子目录过滤器
将存储库限制为单个子文件夹)
不过,我不确定您将如何清除/拆分Git LFS存储在GitHub上的文件
这很奇怪——这些文件中的大多数都小于1MB……当然,如果有一个大文件导致了问题,那么这个过程就会简单一些
如果1MB文件不可压缩且经常更改(或者只是更改了很多),则预计存储库会很快变大。谢谢您的帮助。我有点不清楚您推荐的git命令是什么——修改我的历史记录以删除最新的命令(从而使回购再次处于限制之下),然后开始删除/移动文件的最佳方法是什么?最简单的“撤消”方法最近的提交只是执行类似于
git push-f origin master~50:master
,它将master
向后移动50次提交(从技术上讲,向后移动50次第一个父级,如果有合并的话)。但是,即使您删除了任何较新的分支,GitHub仍然会对旧的主文件进行reflog引用;支持可能会有所帮助。我不确定它将如何与Git LFS一起工作,但您最好保持当前回购的原样,然后使用过滤器分支
从拆分的部分创建新的回购。在我的案例中,问题是Git LFS既超载了数据,又跟踪了本不应该发生的回购。然而,我认为这个答案对于“太大”回购的一般问题是有用的。好吧,祝你好运——在事实发生后,让Git回购变小肯定不是小事!你是如何解决这个问题的?已通过联系GitHub支持解决。