关于二进制文件:在 Git 中转储二进制文件并恢复?

Dumping binaries in Git and reverting?

假设我在 git 存储库提交和推送中添加了 1 GB 电影。接下来我恢复我刚刚推送的提交并推送它。现在最新的头不再包含 1 GB 文件。

即使我刚刚恢复了提交,1 GB 文件现在永久成为 git 历史记录的一部分是否正确?这意味着即使我正在处理没有 1 GB 文件的最新磁头,但 repo 仍然大 1 GB 并且将永远保持不变?


Even though I just reverted the commit is it correct that the 1 GB file is now permanently part of the git history?

是的,repo 仍然很大:创建了一个版本控制系统来保留历史记录。

您需要过滤它的历史并清理它(使用 git filter-branch 或 BFG)以减小它的大小(这会改变它的历史)

另外,正如"如何在运行 BFG Repo Cleaner 后更新/缩小我的 github 存储库的大小"中所述,您需要在过滤器之后:

1
2
git reflog expire --expire=now --all
git gc --prune=now --aggressive