码迷,mamicode.com
首页 > 其他好文 > 详细

清理git提交记录并不能达到真正硬盘“瘦身”

时间:2021-06-30 18:05:44      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:text   退出   主服务器   占用   实验   ranch   strong   obj   col   

清理git提交记录并不能给“瘦身”

  上周发现gitlab同步到线上的主服务器cpu和内存报警。

技术图片

 

  一查发现是隐藏目录 .git 过大导致的,导致每分钟同步卡死,

  我其实有点怀疑是同步脚本中git命令导致的,要不就是下面的同步命令(每1分钟跑一次);要不就是每5分钟去git目录跑一次的git status监控是否有未提交文件 。因为之前也时不时会出现cpu报警,这个罪魁祸首善待查证,先放一边。

1 cd $git_home
2 git fetch --all
3 git reset --hard origin/master

  整个数据盘有100G,去除留给系统用的,实际上能用的有93G。然后du下.git 目录,当时占用59G。然后我用“git gc”去清理本地版本库。发现运行过程中 .git 目录随着命令运行,越来越大。当时根本不够空间让它运行完毕,然后我只能强制退出,挪走一部分文件,再运行。反反复复试了很多次,.git 目录就像无底洞一样,不断吞噬硬盘空间,直到膨胀到 78G。

  只能停掉所有定时脚本,然后跟经理研究下,怎么在不重做git的情况下(即rm 整个git目录,再git clone 拉代码),给它瘦身。

技术图片

 

   

  当时我经理就觉得清掉2019年前的 git log 提交记录,是可以减少 .git 空间的。本来我们是打算删除老旧的提交记录,发现没找到合适的,所以决定测试一个完全清空提交记录的实验。

  然后他跟我在电脑进行测试,以下是我复原当时测试过程:

参考文档:https://huochengyan.blog.csdn.net/article/details/107244931?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-3.nonecase

 

1、gitlab新建一个项目:ljytest-20210629,把一个有提交记录的项目导进去

技术图片

 

 

 

技术图片

 

 

 共有809个提交记录

 

2、把项目:ljytest-20210629拉到本地,方便查看git大小

本地需要先给权限

技术图片

 

 

 

未运行清空提交记录时,查看.git 大小,为156MB

 技术图片

 

 

git log也能查到记录

技术图片

 

 

3、运行清提交记录命令

git checkout --orphan latest_branch
git add -A
git commit -am "commit mytest-202106292254"
git branch -D master
git branch -m master

git push -f origin master 

技术图片

 

 报错了,要gitlab页面上设置下,去除master分支上的项目保护,点击: Unprotect

技术图片

 

 重新运行即可

 

4、运行后的效果图

这时候master分支上只有一个commit

技术图片

 

技术图片

 

 

再看看 .git 目录大小,大小没变,是不是很绝望~~~

技术图片

 

 

  为了不打击我经理的伟大构想,我就不拆穿这个残忍的真相了。。。

  实际上问题最终解决还是重新做git目录,rm .git 删除项目关联,再git clone。对于这个 .git 随着提交不断庞大的问题,我觉得做好两点吧:

(1)运营发文章的时候不要上传过大的文件(超100M),不然同步到gitlab上,".git\objects\pack" 就会越来越大

(2)定时运行git gc 回收空间咯,例如每周一次这样

技术图片

 

清理git提交记录并不能达到真正硬盘“瘦身”

标签:text   退出   主服务器   占用   实验   ranch   strong   obj   col   

原文地址:https://www.cnblogs.com/windysai/p/14942390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!