全部產品
Search
文件中心

Alibaba Cloud DevOps:如何清理Agit集中式評審引入的大檔案空間?

更新時間:Apr 30, 2025

本文將介紹如何清理 Agit 集中式評審過程中引入的大檔案空間,以最佳化儲存和提高系統效能。

形成原因

  • 通過集中式評審建立的評審,源提交可能攜帶大檔案。

  • 當評審未合入時,這些大檔案不會存在於倉庫的任何分支和標籤中,但會存在於評審產生的特殊引用中(用於防止源提交被回收,參考git gc的原理)。因此,即使關閉評審並強制 GC,依然無法清理服務端倉庫的大小。

解決辦法

  1. 找到帶入大檔案的評審頁面,若評審處於開啟狀態,請關閉;

  2. 找到評審產生的特殊引用,示意如下:

    本地建立評審資訊尚在,直接擷取特殊引用

    1

    如上圖:命令列建立時反饋資訊中,最後一行->右邊的引用,就是評審產生的特殊引用:refs/merge-requests/1367177/head

    本地建立評審資訊不在,通過頁面尋找評審 ID,拼接特殊引用

    image

    如上圖,當前頁面地址merge_request後的數字,為評審ID,若評審ID:1367177。此時評審引用為:refs/merge-requests/1367177/head

    擷取評審暫存引用

    image

    單擊評審源的commit ID,在commit詳情頁面點擊複製commit ID,如下圖:

    image

    在這裡是:2a2d43d8daa87b28e71067d5d0681a23c3ba5105,那麼評審的暫存引用為:refs/keep-around/2a2d43d8daa87b28e71067d5d0681a23c3ba5105

  3. 通過命令列刪除特殊引用:

    cd your_local_repository
    git push origin :refs/merge-requests/1367177/head
    git push origin :refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d
  4. 在倉庫設定頁面的儲存空間管理,選擇立即清理,清理策略選擇立即刪除

    高的 - 2024-11-22T133552