git - 超过限制后撤消 git lfs

标签 git github git-lfs

我最近安装了 Git-LFS管理大文件。然而,我很快就达到了 1 Gb 的存储限制,现在当我尝试推送提交时,系统提示我:

batch response: This repository is over its data quota. Purchase more data packs to restore access.

和推送失败。所以现在我实际上无法推送到 repo 协议(protocol)。

购买更多数据包不是一种选择,但是在本地存储大文件(即不对它们进行版本控制)是一种选择。

所以我想做的是:

  1. 停止监控 LFS 监控的文件(目前在 .gitattributes 中设置为所有 *.csv)。
  2. 从 git 中删除这些文件,即它们不会影响任何存储库大小。
  3. 这些文件仍然存在于本地。
  4. 卸载 Git-LFS。
  5. 尽可能少地破坏历史记录,理想情况下只有删除的文件会受到影响。
  6. 现在 repo 大小应该更小了,回到能够正常推/pull 的状态。

我发现了关于人们超出限制的点点滴滴的信息,但没有什么可以解决上述问题。

FWIW 我通常使用 Tortoise Git,但当然也有 Git Shell。

最佳答案

Is there a way to rewrite history such that it omits the csv files but otherwise is the same?

这就是git filter-branch是为了。同样,它将重写历史,因此需要 git push --force
另见“Git - Remove All of a Certain Type of File from the Index”:BFG repo cleaner可以更容易/更快地使用。

关于git - 超过限制后撤消 git lfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49375105/

相关文章:

Git LFS 跳过文件,但 git 开始将其推送到存储库

c++ - 如何在不调用 "-m"选项的情况下自动执行 git commit,以处理内部引号?

Git LFS 删除早于提交的文件

git - 如何停止在存储库中使用 Git LFS

node.js - 同一应用程序中不同流程的 OAuth 范围?

Jenkins简单管道不是由github推送触发的

github - 如何取消订阅组织内的所有 repo

bash - 如何删除项目旧的错误提交?

git - 我如何允许第二台/第三台/等等计算机使用 ssh 和 gitosis 连接到我的 git 服务器?

git - 如何在 repo 级别 stash 特定文件的更改