如何清理Agit集中式評審引入的大文件空間?
更新時間:
本文主要介紹了大文件空間形成的原因和如何清理Agit集中式評審引入的大文件空間。
形成原因
通過集中式評審創(chuàng)建的評審,源提交可能攜帶了大文件。
當(dāng)評審未合入時,攜帶大文件的提交不會存在于倉庫已有的任何分支和標(biāo)簽中,但會存在于評審產(chǎn)生的特殊引用(用于在評審中保持源提交不被回收,參考
git gc
的原理)中,因此會導(dǎo)致即使關(guān)閉評審并強制GC依然無法清理服務(wù)端倉庫的大小。
解決辦法
找到帶入大文件的評審頁面,如果評審處于打開狀態(tài),請先關(guān)閉它;
找到評審產(chǎn)生的特殊引用,示意如下:
本地創(chuàng)建評審信息尚在,在本地客戶端直接獲取特殊引用
如上圖:命令行創(chuàng)建時反饋信息中,最后一行
->
右邊的引用,就是評審產(chǎn)生的特殊引用:refs/merge-requests/1367177/head
。本地創(chuàng)建評審信息不存在,通過頁面查找評審ID,拼接特殊引用:
refs/merge-requests/:ID/head
如上圖,當(dāng)前頁面地址merge_request后的數(shù)字,為評審ID,即:1367177。此時評審引用為:
refs/merge-requests/1367177/head
。獲取評審暫存引用
單擊評審源的commit ID,如上圖的
63492734
。在commit詳情頁面點擊復(fù)制commit ID,如下圖:在這里是:
6349273477adaa3b9d18fea9033fe01f26656a1d
,那么評審的暫存引用為:refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d
。通過命令行刪除特殊引用:
cd your_local_repository git push origin :refs/merge-requests/1367177/head git push origin :refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d
在倉庫設(shè)置頁面的存儲空間管理,選擇立即清理,清理策略請選擇立即刪除:
文檔內(nèi)容是否對您有幫助?