首页 > 其他分享 >Git项目过大清理

Git项目过大清理

时间:2023-11-06 14:31:44浏览次数:33  
标签:Git prune -- 清理 过大 objects git now

1.查看有哪些大文件

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '{print$1}')"

2.移除对该文件的引用

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 文件/文件夹' --prune-empty --tag-name-filter cat -- --all

3. 回收空间

清理本地仓库中不可到达的对象

git for-each-ref --format=‘delete %(refname)‘ refs/original | git update-ref --stdin
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

#查看大小
git count-objects -vH

4.推送到服务器

清理远程仓库

git push origin --force --all
git remote prune origin

5.清理服务器缓存

sudo su
cd ${gitlab项目部署目录}/git-data/repositories/{待清理的项目地址}
git count-objects -vH   # 此时还是旧的大小
git gc --prune=now  # 清理无效文件
git count-objects -vH  # 此时就和本地一样,从库减小了

标签:Git,prune,--,清理,过大,objects,git,now
From: https://blog.51cto.com/hsuing/8207412

相关文章

  • gitlab服务器在没有备份的情况下宕机,如何恢复项目代码
    第一步:复制旧服务器的代码仓库数据将宕机的gitlab服务器硬盘挂载到其他服务器,打开挂载的磁盘,找到gitlab代码仓库目录  /run/media/root/c6e4af86-0ca5-4841-8593-914811388435/var/opt/gitlab/git-data黄色部分是磁盘挂载的目录,后面的/var/opt/gitlab/git-data这个是gitlab......
  • git解决 fatal: not in a git directory
    git解决fatal:notinagitdirectory 问题描述:执行下面语句时报错:fatal:notinagitdirectorygitconfig--globaluser.name"yourName"//注意,--和global之间没有空格gitconfig--globaluser.email"[email protected]" 先进入git目录,或使用gitinit新建一个Git仓......
  • Git_设置分支保护,禁止成员向保护分支push
    1、设置保护分支进入仓库分支列表 选择要设置的分值,点击编辑->分支属性选择“保护分支”2、设置保护分支规则进入仓库管理->点击保护分支设置->新建规则 设置仓库push权限和合并权限 保存后查看作用分支不为0,表示设置生效 3、验证权限在本地直接向master分支push......
  • 01.Git环境配置
    1.Git简介Git是目前世界上最先进的分布式版本控制系统。Git优点:适合分布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。离线工作。2.Git安装官网下载地址:https://git-scm.com/downloadWindows:点击下载......
  • 使用Github Actions构建Docker image
    需求因为网络和性能的原因,有些Dockerfile无法在本地顺利构建。我们可以借助GithubActions每月2000分钟的免费时间来构建。实现在你的仓库里放好Dockerfile如果需要安装文件等操作也一并push建立.github/workflows/main.yml描述任务name:DockerImageCIon:push:......
  • git代码回滚方法
    方法一:1项目目录中右击菜单TortoiseGit 右键选择然后点击showlog2选中需要回退的代码版本3.右键 选择“Reset"mastertothis”4. 类型选择“hard”,点击确定5.本地代码回滚好了,线上也需要同步回滚,右键"TortoiseGit"---"push",一定要勾选上"knownchanage"(强制变......
  • fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountere
    您遇到的问题可能是网络问题或与`git`配置有关。以下是一些建议的解决步骤:1.**检查网络连接**:确保您的服务器/计算机可以正常访问外部网站。您可以尝试使用`ping`或`curl`来检查网络连接。 ```bash pinggithub.com ```2.**使用HTTP代替HTTPS**:尝试使用HTTP代替HTT......
  • 电脑C盘清理
    Windows电脑用久了之后,总是会产生很多“垃圾”,例如临时文件/日志/缓存等。如果硬件参数很强,自然不用担心,但多数电脑,在使用一段时间后,都会慢慢“占据”C盘,导致电脑卡顿,使用体验不佳。这里共享一份清理电脑C盘的脚本。源码如下:@echooffecho正在清理系统垃圾文件,请稍等...........
  • 使用Github Copilot生成单元测试并执行
    上一篇文章我们介绍了使用GithubCopilot完成代码编写本文我们继续使用GithubCopilot在已有代码的基础上生成代码测试并执行。一、先说一下代码的背景需要上需要提供一个度量衡的工具类,实现各种转换,例如将长度值转换为英寸将长度值转换为英里将长度值转换为厘米将长度......
  • git协作流程
    新功能开发1、切换到master主分支,拉去最新代码>gitcheckoutmaster>gitpull2、创建新分支>gitcheckout-bfeature-order-.....3、开发完成、提交分支>gitadd.>gitcommit-m"订单功能开发完成">gitpush-uoriginfeature-order-.....4、功能测试//......