在使用gitlab进行版本管理的过程中,我们可能会遇到一个问题:git库中存储了太多大文件,导致gitlab的储存空间不足。此时,我们就需要删除git中的git大文件夹来腾出一些空间。但是,由于git的特殊性质,删除文件夹不是和其他文件一样删除,而是需要一些额外操作。本文将介绍如何在gitlab上删除git大文件夹的方法。
1、确认Git大文件夹
首先,我们需要确认在GitLab上库中的哪个文件夹占用了最多的空间,进而决定哪个文件夹是Git大文件夹。我们可以通过以下命令来确定:
git rev-list --objects --all | \
git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | \
sed -n 's/^blob //p' | \
sort --numeric-sort --key=2 | \
cut -c 1-12,41- |
# 此时应该得到一个类似如下的输出
# 6fb171 9336398 vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js
# 8cf6f9 9430549 vendor/assets/bower_components/jquery/jquery.js
# 45babf 11219868 vendor/assets/bower_components/angular/angular.js
# …
awk '$2 >= 1000000 { print }'此命令的作用是列举出当前库中所有所有提交中的 blob 对象,并按照 size 从小到大排序。最后的 awk '$2 >= 1000000 { print }' 表示只输出文件大小大于等于 1000000 字节的文件。这个命令中的数字可以自行更改成你所需要的大小。
2、从GitLab数据库中删除Git大文件夹
在确认了Git大文件夹之后,我们可以通过以下命令从GitLab的数据库中删除该文件夹:
sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -d gitlabhq_production
此命令会进入GitLab的数据库中。在这里,我们需要注意以下几点:
在进入数据库之后,我们可以通过以下命令进入出我们所需要删除的文件夹所在的项目:
\x SELECT * FROM projects;
此命令会列举出数据库中所包含的所有项目,我们可以用这个命令找到我们需要删除的Git大文件夹所在的项目。
接下来,我们需要根据项目的ID,进入该项目的repositories表中。
SELECT * FROM repositories WHERE project_id = <project_id>;
此命令会在repositories表中找到在指定项目中的repository记录。我们需要记下这个记录的ID,以便后续操作。
接下来,我们需要进入该repository记录所对应的repository_storages表中。
B2S商城系统B2S商城系统是由佳弗网络工作室凭借专业的技术、丰富的电子商务经验在第一时刻为最流行的分享式购物(或体验式购物)推出的开源程序。开发采用PHP+MYSQL数据库,独立编译模板、代码简洁、自由修改、安全高效、数据缓存等技术的应用,使其能在大浏览量的环境下快速稳定运行,切实节约网站成本,提升形象。注意:如果安装后页面打开出现找不到数据库等错误,请删除admin下的runtime文件夹和a
0
SELECT * FROM repository_storages WHERE repository_id = <repository_id>;
在上述命令中,
现在,我们需要确定我们需要删除的大文件夹所在的存储路径。如果你不确定这个路径是什么,可以打开GitLab的页面,到存储空间管理页面,找到对应项目的存储路径。
最后,我们就可以通过以下命令从数据库中删除指定的大文件夹了:
DELETE FROM repository_uploads WHERE path LIKE '<path>/%';
在上述命令中,
3、删除服务器上的Git大文件夹
在数据库中删除Git大文件夹后,我们还需要在服务器上将这些文件从磁盘上彻底删除。你可以直接通过rm命令删除大文件夹,例如:
sudo rm -rf <path>
在上述命令中,
完毕!你已经成功地在GitLab上删除了Git大文件夹。
总结
本文介绍了如何在GitLab上删除Git大文件夹。要删除文件夹主要需要进行两个步骤:从数据库中删除文件夹记录,然后从磁盘上彻底删除文件夹。删掉Git大文件夹之后,我们可以为GitLab腾出更多的空间来存储其他文件。
以上就是如何删除GitLab中的Git大文件夹的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号