Git 清理仓库文件历史
阅读量:
[!info] 2023-05-12 清理方案,由于 Git 的更新,清理方式变更过几次,日后仍存在变更的可能。
通过使用 git-filter-repo
模块来检查和删除仓库中历史提交的文件。
简单的安装及使用方式 是下载 git-filter-repo
文件,并通过命令
python3 git-filter-repo --analyze
执行文件对仓库进行分析,分析后可以通过命令
head .git/filter-repo/analysis/path-all-sizes.txt
查看仓库中的大文件。根据分析结果选择想要删除的文件执行命令
python3 ~/git-filter-repo --path-glob 'folder_path/file_want_to_delete' --invert-paths --force
其中文件名的部分可使用通配符批量删除文件。
若该仓库中的大文件曾经推送至远程仓库过,则需要通过 git push --force
来修改远程仓库的历史,需要注意文件曾经所在的分支,需要强制推送至对应的分支上。
参考资料
- https://web.archive.org/web/20190207210108/http://stevelorek.com/how-to-shrink-a-git-repository.html
- https://stackoverflow.com/a/2116892
反向链接
Git
[[Git ssh 配置]]
[[Git 新建项目并上传Github]]
[[Git 添加远程库]]
[[Git 放弃本地修改]]
[[Git tag 标签管理]]
[[Git 切换分支]]
[[Git 清理仓库文件历史]]
[[Git 批量合并 commit]]
到头儿啦~