目前 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拓展工具。
,