Gitee 官方博客
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee

功能更新 | 如何控制 Git 库的膨胀?码云 GC 一步搞定!

Gitee
7 年前发布在 产品动态

相信每个公司都有自己的官网。小明公司也不例外,不过小明却发现公司的“猿”哥哥将许多视频放在了代码仓库里,导致原本只有代码的仓库从早期的几十MB,飙升至 1G以上,变得无比臃肿(或者是慢慢臃肿)。这时老板大手一挥删了所有视频,理论上是该缩小的,但小明发现仓库大小没有变化。明明删了视频,怎么仓库竟没有变化?

到底发生了什么导致 Git 库的膨胀?

根据 Git 的数据存储机制,只要通过命令 git add 将文件存储至暂存区,都会对版本库中的每一个文件,不论是图片、视频、源文件还是二进制文件生成相对应的 Blob 对象(即一段二进制数据)。 

如果你的项目中不小心打包进来了比较大的 word 文档或视频资源,Git 本身又识别不了该类型文件,只能当作二进制文件全量存储。所以,在其他人拉取该 word 文档更新完后再推远程分支的时候,则会使得 .git 下面的 objects 的文件夹大小迅速膨胀。 

上面使用场景中表面上少了500M空间,实则增加了一次至少500M的历史提交记录,仓库容量没有变化。

如何精简你的 Git 仓库?

第一种方案:压缩 Git 仓库。 

例如,码云项目管理中会提供存储库 GC 功能,用于清理悬空文件,压缩存储库对象,减少存储库磁盘占用。 


功能更新 | 如何控制 Git 库的膨胀?码云 GC 一步搞定!-Gitee 官方博客


第二种方案(推荐):删除大文件提交记录。 

查看存储库中的大文件: 

git rev-list --objects --all | grep -E `git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '{print$1}' | sed ':a;N;$!ba;s/\n/|/g'`

改写历史,去除大文件

git filter-branch --tree-filter 'rm -f path/to/large/files' --tag-name-filter cat -- --all
git push origin --tags --force
git push origin --all --force

并告知所有组员,push 代码前需要 pull rebase,而不是 merge,否则会从该组员的本地仓库再次引入到远程库中。

更多码云企业版的特性请浏览: https://gitee.com/enterprises

往期精彩:

微信小程序如何使用 Git 实现版本管理和协作开发

初创企业限时特惠,999 即可购买码云标准版

码云企业版上线禁止 Git 强推功能,避免仓库内容被覆盖

想要快速上手 Spring Boot ?看这些教程就足够了!| 码云周刊第 81 期

功能更新 | 如何控制 Git 库的膨胀?码云 GC 一步搞定!-Gitee 官方博客

GCGit
功能更新 | Gitee 企业版支持提交代码时切换任务状态
上一篇
反思2.4 亿数据泄漏事件:企业代码安全如何保障?
下一篇
近期文章
  • 启航 AI 新航道!Gitee 双十一与你共享智能新未来
  • 《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
  • 研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
  • 对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
  • 从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
  • 科技赋能,Gitee 助力国家海关总署实现重大业务改革
  • 科大讯飞选择Gitee旗舰版,完成研发协作平台国产化替代
  • 用脑图做测试用例,高效到家了!
  • 信创驶入快车道,中国赛宝实验室选择 Gitee 搭建高效研发协作平台
  • 金融人怎么写出安全可靠的代码?知名证券企业这样做
相关文章
《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
用脑图做测试用例,高效到家了!
关于我们

Gitee(gitee.com)是 OSCHINA.NET 推出的代码托管·协作开发平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1200 万的开发者选择 Gitee。

品牌内容
开源软件 GVP计划 Gitee 封面人物 CopyCat 代码克隆检测
友情链接
开源中国 Gitee Gitee 高校版 Gitee 企业版
Copyright © 2013-2025 Gitee 官方博客. Designed by nicetheme.
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
热门搜索
  • Gitee
  • gitee 企业版
  • 码云
  • 开源项目
  • 码云Gitee
  • GVP
  • Git
  • 开源
  • 码云企业版
  • 码云周刊
  • 码云 gitee
  • DevOps
  • gitee企业版
  • 内源
  • 内部开源
  • innersource
  • 小程序
  • 企业版
Gitee
安全、稳定、高效的云端软件开发协作平台。
Top