gpt4 book ai didi

git - 清理 git 存储库中的二进制 blob

转载 作者:太空狗 更新时间:2023-10-29 13:57:08 27 4
gpt4 key购买 nike

我们的 git 存储库中有一个特定的二进制文件。通常它的大小约为 2MB。

我们的一位开发人员不小心提交了这个与其所有依赖项捆绑在一起的文件,这使文件增加到大约 40MB。

当然我们提交了一个固定版本,但是主存储库仍然有我们不需要的 40MB 二进制数据的无用 block 。我可以保证我们永远不需要那个特定提交的文件历史(或与此相关的任何其他提交 - 它是一个编译的二进制文件,无论如何我们都有源版本)。

如何删除该数据 block 以恢复存储库大小?一个简单的 git gc 是不够的,我想我需要一些我不熟悉的低级 hacking。

最佳答案

如果您可以从源代码创建文件,它很可能根本不属于存储库。

如果您想从存储库中删除该版本的文件,则必须重新设置存储库的基线,最好使用 git rebase -i .问题是它正在重写历史,你真的不应该为已经公开的提交(即在多个用户之间共享)这样做。参见 Recovering from upstream rebase了解如何在您确实需要的情况下完成这项工作。

在你做了rebase之后,文件会在版本库中保留一段时间,但最终会被自动删除。如果您使用 git clonegit pull,它根本不会被传输。

关于git - 清理 git 存储库中的二进制 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6724806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com