【发布时间】:2018-03-20 01:42:24
【问题描述】:
我最近安装了Git-LFS 来管理大文件。但是,我很快就达到了 1 Gb 的存储限制,现在当我尝试推送提交时,系统会提示我:
批量响应:此存储库已超过其数据配额。购买更多 数据包以恢复访问。
并且未能推动。所以现在我实际上无法推送到 repo。
购买更多数据包不是一种选择,但在本地存储大文件(即不对其进行版本控制)是一种选择。
所以我想做的是:
- 停止监视 LFS 监视的文件(当前设置为 .gitattributes 中的所有 *.csv)。
- 从 git 中删除这些文件,即,这样它们就不会影响任何 repo 大小。
- 这些文件仍然存在于本地。
- 卸载 Git-LFS。
- 尽可能少地破坏历史记录,最好只影响已删除的文件。
- 现在 repo 的大小应该更小了,恢复正常推/拉的能力。
我发现了一些关于人们超出限制的信息,但没有任何东西可以做到以上几点。
FWIW 我通常使用 Tortoise Git,但当然也有 Git Shell。
【问题讨论】:
-
文件进入历史记录后,您必须重写历史记录才能删除它们。 GitHub 将 所有 数据(不仅仅是当前数据)计入 1 GB 限制。
-
有没有办法重写历史,这样它就省略了 csv 文件,但其他方面是一样的?
-
您可以在本地或 Internet 的某个位置设置自己的 lfs 服务器,然后迁移到那里。 Here 是实现列表
-
github.com/git-lfs/git-lfs/issues/641 也许这对你有帮助。
-
"你可以设置你自己的 lfs 服务器" 我碰巧在将任何东西推送到 GitHub 之前这样做了,但是如果你的提交中有任何 LFS 指针,GitHub 的推送钩子会阻止你的推送(这很荒谬),强制你将 blob 上传到 GitHub,一旦你这样做了,你就会耗尽你的配额,并且根本无法与你在 GitHub 上的存储库进行交互。