git:使用 git-repo-clean工具清仓库大文件,并重写commit记录(建议)

发布时间 2023-10-30 16:26:30作者: 武平宁

参考:README

安装

下载链接:https://gitee.com/oschina/git-repo-clean/releases/
解压后,即可看到二进制程序:git-repo-clean,复制到需要清理的仓库中。

使用

  • 查看大文件
    ./git-repo-clean --verbose --scan --limit=10M --type=gz --number=20

  • 清理大文件(可直接目录)
    ./git-repo-clean --verbose --file file_path --file dir/ --delete
    清理后,按y覆盖远程仓库

  • 清理远程仓库
    git gc --prune=now

如果远程仓库所在的磁盘剩余空间不足,覆盖远程仓库会失败。保证有足够空间后,再执行git push origin --all --force ; git push origin --tags --force

  • 查看所有历史提交的文件
    git rev-list --objects --all
    确定需要删除的文件或目录后,同样按清理大文件的方式操作。
    文件/目录清理后,同样需要清理远程仓库