gpt4 book ai didi

git - 如何从 git 存储库中删除旧版本的媒体文件

转载 作者:IT王子 更新时间:2023-10-29 01:14:43 26 4
gpt4 key购买 nike

我有一个 Git 存储库,其中包含几个巨大的媒体文件(图像和音频文件)。这些媒体文件的多个版本已陆续提交到 repo。这些文件是相同 Assets 的连续精炼版本,并且它们具有相同的名称。

我只想在 Git 存储库中保留最新版本,因为它变得太大了。
最简单的方法是什么?
我如何才能将这些更改正确传播到上游存储库?

最佳答案

旧线程,但以防其他人在这里绊倒......

GitHub 和 Bitbucket 都推荐使用 BFG Repo-Cleaner .

参见:
GitHub: Remove Sensitive Data
Bitbucket: Reduce Repository Size & Bitbucket: Maintaining a Git Repository

删除超过 1 兆字节的文件以及不在 HEAD 中的 jpg、png 和 mp3 的示例:

# First get the latest bfg.jar, then:
$ git clone --mirror git://example.com/some-big-repo.git
$ java -jar bfg.jar --strip-blobs-bigger-than 1M --delete-files '*.{jpg,png,mp3}' some-big-repo.git
$ cd some-big-repo.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
$ git push

注意:现在您已经推送了更新的版本,远程存储库也应该运行它的 git gc ……否则您将看不到大小的减少。 (参见例如 https://stackoverflow.com/a/28782154/3419541)

最后,重新克隆存储库以确保您不会不小心重新提交旧媒体文件 blob。

关于git - 如何从 git 存储库中删除旧版本的媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6358476/

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