如何清理Agit集中式评审引入的大文件空间?

更新时间:2024-11-22 05:41:32

本文主要介绍了大文件空间形成的原因和如何清理Agit集中式评审引入的大文件空间。

形成原因

  • 通过集中式评审创建的评审,源提交可能携带了大文件。

  • 当评审未合入时,携带大文件的提交不会存在于仓库已有的任何分支和标签中,但会存在于评审产生的特殊引用(用于在评审中保持源提交不被回收,参考git gc的原理)中,因此会导致即使关闭评审并强制GC依然无法清理服务端仓库的大小。

解决办法

  1. 找到带入大文件的评审页面,如果评审处于打开状态,请先关闭它;

  2. 找到评审产生的特殊引用,示意如下:

    本地创建评审信息尚在,在本地客户端直接获取特殊引用
    本地创建评审信息不存在,通过页面查找评审ID,拼接特殊引用:refs/merge-requests/:ID/head
    获取评审暂存引用

    1

    如上图:命令行创建时反馈信息中,最后一行->右边的引用,就是评审产生的特殊引用:refs/merge-requests/1367177/head

    高的 - 2024-11-22T133411

    如上图,当前页面地址merge_request后的数字,为评审ID,即:1367177。此时评审引用为:refs/merge-requests/1367177/head

    高的 - 2024-11-22T133259

    单击评审源的commit ID,如上图的63492734。在commit详情页面点击复制commit ID,如下图:

    高的 - 2024-11-22T133329

    在这里是:6349273477adaa3b9d18fea9033fe01f26656a1d,那么评审的暂存引用为:refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d

  3. 通过命令行删除特殊引用:

    cd your_local_repository
    git push origin :refs/merge-requests/1367177/head
    git push origin :refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d
  4. 在仓库设置页面的存储空间管理,选择立即清理,清理策略请选择立即删除

    高的 - 2024-11-22T133552

  • 本页导读 (1)
  • 形成原因
  • 解决办法
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等