美文网首页
记一次git推送代码仓库体积过大问题

记一次git推送代码仓库体积过大问题

作者: 逆水寒Stephen | 来源:发表于2023-08-03 18:14 被阅读0次

问题截图:


问题截图

从图中可以看出本地提交的仓库是4.18个GB,但是gitee限制是3GB,所以提交被拒绝了,然后给了个文档地址:https://gitee.com/help/articles/4232,点进去可以看到,企业尊享版最大限制是3个GB,我们本来就是企业版,这个意味钞能力无法解决了,另寻他法,按他文档里面的其他命令行方法试了,效果不佳,后找到两篇文章https://www.rstk.cn/news/100168.html?action=onClickhttps://blog.csdn.net/Forever_wj/article/details/123828382,一通折腾下,提交的内容还更大了点,😭,命令如下,也许你有帮助:

1.pip install git-filter-repo
2.cd 进入项目根目录
3.查找大文件(参数里面100代表查找出最大的100个文件和对应Commit信息)
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -100 | awk '{print$1}')"
4.根据找到的大文件执行强制彻底删除历史大文件(比如我看到是app和appExternal的release里面的aar比较多)
git filter-branch --force --prune-empty --index-filter "git rm -rf  app/release/*.aar appExternal/release/*.aar --cached --ignore-unmatch" --tag-name-filter cat -- --all
5.上面执行重写commit完成后强制推送到远端
git push origin master -f
6.如果执行时报refs/original/已经存在,先执行:rm -rf .git/refs/original/
7.最新彻底清除
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now

上面方法对我失效后我想直接删除之前的commit,这样就不会存在超限了吧,于是找到这个文章https://zhuanlan.zhihu.com/p/347385535,执行了下面这些命令,一通折腾下,提交的内容还是大了点,😭,命令如下,也许你有帮助:

1.创建孤立分支,并切换到该分支:
git checkout --orphan latest_branch
2. 暂存所有文件:
git add -A
3. 提交所有更改:
git commit -am "First Commit"
4. 删除主分支 master:
git branch -D master
5. 重命名当前分支为 master:
git branch -m master
6. 强制推送本地分支:
git push origin master -f

最后实在无语了,猜想应该是gitee上面的commit超限了,因为我重新拉个新的下来马上提交都提示超限,所以只能采取终极办法:
1.将项目在gitee网站去download一个源码zip下来
2.在gitee网站上将项目重命名备个份就暂时废弃这个项目
3.新建一个和之前同名的项目,这样保证同事间/jenkins这些不需要改url
4.将down下来的源码zip,解压后重置执行git相关命令推送到新地址上:

git init
git remote add origin https://gitee.com/xxxxx.git
git add .
git commit -m "xxx"
git push origin master

相关文章

  • git使用笔记

    下载代码git clone [url] 提交本地仓库git commit -m [注释] 推送远程仓库git pu...

  • git 仓库体积过大,如何减小?

    使用git filter-branch 彻底删除git中的文件(包括历史提交记录)[https://www.cnb...

  • git学习笔记(二)

    解决无法向新建git仓库推送分支的问题 问题描述: 在服务器新建git仓库后无法向git推送分支 报错信息 Co...

  • gitlab runner安装和使用实例

    Gitlab CI/CD 本地推送代码至Git仓库,触发Gitlab CI执行的条件: 1、仓库根目录存在.git...

  • GitHub和本地电脑建立连接

    git把本地代码推送至远程新的GitHub仓库:1、先格式化本地仓库: git init -y,会生成.git文件...

  • Git建立远程仓库连接与基本命令

    git建立远程仓库连接 一、码云新建仓库 参考官方教程 二、使用git命令推送代码到码云 git 配置 打开Git...

  • git 常用命令 学习

    详细git命令,请参考:git教程 1. 仓库初配置 2. 提交代码 注:在git push推送远程仓库的时候,可...

  • (记录)Git仓库完整迁移

    切换到git账户 初始化仓库名 切换到代码目录,推送本地代码到新建的仓库 修改git路径为新路径: 测试可以正常连...

  • git 命令行使用

    将更新的代码加入版本库管理 从本地git仓库获取指定文件 将版本库代码推送到代码库 查看git状态 git 添加忽...

  • Git的一个小问题

    最近使用git命令将本地仓库的代码推送到GitHub时,出现以下问题: To https://github.com...

网友评论

      本文标题:记一次git推送代码仓库体积过大问题

      本文链接:https://www.haomeiwen.com/subject/dpvmpdtx.html