欢迎光临散文网 会员登陆 & 注册

GitHub repo 体积巨大?使用批处理工具来清除历史版本

2023-08-07 22:51 作者:Sam_Toki  | 我要投稿

前言

笔者近日整理自己的 GitHub repo 库的时候,发现其体积意料之外地巨大。尤其是其中一个 repo,本体约 30MB,repo 竟超过 500MB。

笔者对 Git 一知半解,于是查了些资料:Git 的版本管理机制会使 repo 不断膨胀,commit 越频繁的 repo 膨胀越快。且这个复杂的机制使得历史版本不好删除,这也是笔者撰写本教程的缘由。

工具部署

本文以 Windows 环境为例,使用其他操作系统的读者请参考其他教程。在使用批处理工具之前,读者需要先部署以下工具:

① Git for Windows

对 GitHub repo 进行高级操作的基本工具。https://gitforwindows.org

② BFG Repo-Cleaner

GitHub repo 历史版本清理工具,本教程的主角。https://rtyley.github.io/bfg-repo-cleaner/

③ Java Runtime Environment

上述工具依赖 Java 运行环境。https://www.java.com/en/download/manual.jsp

④ 网络代理工具 与 SSH

俗称梯子。本文提供的批处理代码默认使用SSH代理来 push commit,以避免恼人的网络问题。

本文不赘述SSH的配置方法。若您不使用SSH,可自行修改批处理代码。

制作批处理文件

打开文本编辑器(例如 Visual Studio Code),粘贴以下代码:

然后保存为 .bat 批处理文件,编码为 UTF-8。

接下来将这个 .bat 文件以及 BFG 的 .jar 文件放置在 repo 库目录下,即 repo 目录的上一层,再将 .jar 文件重命名为「bfg.jar」:

开始清理

双击运行 .bat 文件,按照提示键入所需信息:

批处理工具开始自动清理 repo 并提交至 GitHub。请留意 Git 输出的信息,确认清理是否成功:

清理效果

参考资料

[1] https://blog.walterlv.com/post/clean-up-git-repo-using-bfg.html

[2] https://juejin.cn/post/7081841080278188040

[3] https://tjfish.top/posts/git%E8%AE%BE%E7%BD%AE%E4%BB%A3%E7%90%86%E8%A7%A3%E5%86%B3%E8%A2%AB%E5%A2%99/

[4] https://docs.github.com/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port


GitHub repo 体积巨大?使用批处理工具来清除历史版本的评论 (共 条)

分享到微博请遵守国家法律