库容量问题
本文为您提供一系列关于云效平台代码库容量管理的常见问题。内容涵盖代码库存储空间限制、如何清理代码库容量、大文件(二进制文件)的管理和清理,以及针对LFS空间清理和Agit集中式评审引入的大文件空间清理的具体方法,确保您能够高效地管理和优化代码库的存储资源。
容量和清理说明
概览:了解代码库的容量限制,并学习如何有效清理以保持最佳性能。
代码库存储空间容量限制:
单个代码库默认提供10GB空间,分为5GB Git容量和5GB Git LFS空间。
当容量接近或达到上限时,建议及时进行清理,避免影响日常研发工作。
超过推荐阈值后,需升级组织套餐获取更多容量。
清理代码库容量的方法:
删除不需要的文件:作为开发者,请定期检查并删除不再需要的文件。
GC清理:作为管理员,可使用库GC功能压缩存储对象,减少磁盘占用。
LFS空间清理:对于使用Git LFS管理的二进制文件,需手动清理不再需要的LFS资源文件。
工具安装与大文件清理:利用
git-filter-repo
工具按文件大小、路径或blob ID清理历史大文件。
操作步骤:
克隆裸库,使用
git clone --mirror --bare
命令。进入克隆好的裸库中执行清理命令,如
git filter-repo --strip-blobs-bigger-than 100M
。更新服务端仓库,强制推送修改后的分支和标签。
在Codeup页面确认大文件已被清除,并执行立即清理策略。
详情,请参见容量和清理说明。
LFS空间如何清理以及清理后的影响?
背景:Git LFS用于管理大型二进制文件,但即使删除Git源文件,LFS资源文件也不会自动删除,仍会占用存储空间。
清理LFS资源文件:
在代码库设置中的“大文件存储”菜单下选择期望删除的文件。
使用
git lfs ls-files
命令查看当前关联的LFS资源文件列表,根据实际需求删除不必要的文件。
清理后的潜在问题及解决办法:
如果在Codeup源码浏览页面遇到文件丢失提示,或者本地推送失败,通常是因为Git LFS Pointer文件仍然存在,但对应的oid文件已被删除。
解决方案是重新上传缺失的文件至Git LFS服务器,或接受无法恢复的事实,如果原始文件已不可得。
详情,请参见LFS空间如何清理以及清理后有什么影响?
如何清理Agit集中式评审引入的大文件空间?
形成原因:通过集中式评审创建的评审可能携带大文件,即使评审关闭,这些大文件仍存在于特殊引用中,导致无法通过常规GC清理。
解决办法:
确认并关闭所有涉及大文件的评审。
找到评审产生的特殊引用。
在本地客户端删除这些特殊引用,例如:
cd your_local_repository git push origin :refs/merge-requests/1367177/head git push origin :refs/keep-around/6349273477adaa3b9d18fea9033fe01f26656a1d
最后,在仓库设置页面执行立即清理策略,选择立即删除以彻底释放空间。
具体操作步骤,请参见如何清理Agit集中式评审引入的大文件空间?
希望以上内容能帮助您更好地理解和解决云效平台上代码库容量管理过程中遇到的各种问题。如果您还有其他疑问或需要进一步的帮助,请随时联系我们。