企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

还在为 Git 仓库瘦身头疼?快来试试 repo-clean

wudianyun 2025-01-20 17:04:44 精选文章 23 ℃

目前 Gitee 仓库对于个人以及不同套餐的企业版本都有单仓库大小的限制,一些用户在使用一段时间后,由于不正确的将一些二进制文件直接上传到 Git 仓库,并且后续又频繁改动,导致仓库配额过大,进而导致无法正常使用。

虽然Gitee提供了仓库瘦身文档,但是在实际操作的过程中,由于不同用户的操作习惯不同,成功率比较低,而且我们也需要投入大量的精力来协助客户进行操作,这一过程中需要消耗极大的成本。

为了更好地解决仓库瘦身的问题,Gitee团队在近期开源了仓库瘦身工具git-repo-clean,通过提供充足的提示和引导,来协助用户进行大文件的移除和清理。

项目名称:git-repo-clean
项目作者:Gitee 团队
开源许可协议:MulanPSL-2.0
项目地址:git-repo-clean: 对Git仓库大文件进行扫描、清理,并重写提交历史的Git拓展工具。

依赖环境

  • Git ≥ 2.24.0 (必须)
  • Golang ≥ 1.15 (可选)

项目功能

  • 可以选择查找大于指定大小的文件
  • 自由选择可处理的大文件
  • 自动帮用户进行处理,并且推送到所有的引用

如何使用

git-repo-clean 支持交互式和命令行使用,目前有如下的选项:

  -v, --verbose		show process information
  -V, --version		show git-repo-clean version number
  -h, --help		show usage information
  -p, --path		Git repository path, default is '.'
  -s, --scan		scan the Git repository objects
  -b, --branch		set the branch to scan, default is current branch
  -l, --limit		set the file size limitation, like: '--limit=10m'
  -n, --number		set the number of results to show
  -t, --type		set the file type to filter from Git repository
  -i, --interactive 	enable interactive operation
  -d, --delete		execute file cleanup and history rewrite process

交互式使用

输入git repo-clean可以直接进入交互模式,因为没有加任何参数,只能使用默认选项。此模式下默认打开的选项有--scan、--delete、 --verbose,如果想使用其它选项,如--branch,则可以使用git repo-clean -i[--interactive]。

命令行使用

git repo-clean --scan --limit=1G --type=tar.gz --number=1

该命令的含义为,扫描仓库当前分支的文件,文件最小为1G,类型为tar.gz,显示前1个结果。

git repo-clean --scan --limit=1G --type=tar.gz --number=1 --delete

在命令后添加--delete选项,则会批量删除当前分支扫描出的文件,并重写相关提交历史(包括HEAD)。

git repo-clean --scan --limit=1G --type=tar.gz --number=1 --delete --branch=all

在命令后添加--branch选项,则会扫描所有分支的文件再执行删除,并重写相关提交历史。

如果你的 Git 仓库恰好需要瘦身,或者想要了解更详细的项目信息和技术原理,那么就点击后面的链接前往项目仓库看看吧:git-repo-clean: 对Git仓库大文件进行扫描、清理,并重写提交历史的Git拓展工具。

最近发表
标签列表