全部產品
Search
文件中心

Alibaba Cloud DevOps:庫容量問題

更新時間:Mar 15, 2025

本文為您提供一系列關於雲效平台程式碼程式庫容量管理的常見問題。內容涵蓋程式碼程式庫儲存空間限制、如何清理程式碼程式庫容量、大檔案(二進位檔案)的管理和清理,以及針對LFS空間清理和Agit集中式評審引入的大檔案空間清理的具體方法,確保您能夠高效地管理和最佳化程式碼程式庫的儲存資源。

容量和清理說明

概覽:瞭解程式碼程式庫的容量限制,並學習如何有效清理以保持最佳效能。

程式碼程式庫儲存空間容量限制

  • 單個程式碼程式庫預設提供10GB空間,分為5GB Git容量和5GB Git LFS空間。

  • 當容量接近或達到上限時,建議及時進行清理,避免影響日常研發工作。

  • 超過推薦閾值後,需升級組織套餐擷取更多容量。

清理程式碼程式庫容量的方法

  • 刪除不需要的檔案:作為開發人員,請定期檢查並刪除不再需要的檔案。

  • GC清理:作為管理員,可使用庫GC功能壓縮儲存物件,減少磁碟佔用。

  • LFS空間清理:對於使用Git LFS管理的二進位檔案,需手動清理不再需要的LFS資源檔。

  • 工具安裝與大檔案清理:利用git-filter-repo工具按檔案大小、路徑或blob ID清理歷史大檔案。

操作步驟

  1. 複製裸庫,使用git clone --mirror --bare命令。

  2. 進入複製好的裸庫中執行清理命令,如git filter-repo --strip-blobs-bigger-than 100M

  3. 更新服務端倉庫,強制推送修改後的分支和標籤。

  4. 在Codeup頁面確認大檔案已被清除,並執行立即清理策略。

詳情,請參見容量和清理說明

LFS空間如何清理以及清理後的影響?

背景:Git LFS用於管理大型二進位檔案,但即使刪除Git源檔案,LFS資源檔也不會自動刪除,仍會佔用儲存空間。

  • 清理LFS資源檔

    • 在程式碼程式庫設定中的“大檔案儲存體”菜單下選擇期望刪除的檔案。

    • 使用git lfs ls-files命令查看當前關聯的LFS資源檔列表,根據實際需求刪除不必要的檔案。

  • 清理後的潛在問題及解決辦法

    如果在Codeup源碼瀏覽頁面遇到檔案丟失提示,或者本地推送失敗,通常是因為Git LFS Pointer檔案仍然存在,但對應的oid檔案已被刪除。

    解決方案是重新上傳缺失的檔案至Git LFS伺服器,或接受無法恢複的事實,如果原始檔案已不可得。

詳情,請參見LFS空間如何清理以及清理後有什麼影響?

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

形成原因:通過集中式評審建立的評審可能攜帶大檔案,即使評審關閉,這些大檔案仍存在於特殊引用中,導致無法通過常規GC清理。

解決辦法

  1. 確認並關閉所有涉及大檔案的評審。

  2. 找到評審產生的特殊引用。

  3. 在本地用戶端刪除這些特殊引用,例如:

    cd your_local_repository
    git push origin :refs/merge-requests/1367177/head
    git push origin :refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d
  4. 最後,在倉庫設定頁面執行立即清理策略,選擇立即刪除以徹底釋放空間。

具體操作步驟,請參見如何清理Agit集中式評審引入的大檔案空間?

希望以上內容能協助您更好地理解和解決雲效平台上程式碼程式庫容量管理過程中遇到的各種問題。如果您還有其他疑問或需要進一步的協助,請隨時聯絡我們。