当前位置: 首页 > news >正文

git status 耗时

某个git库每次status一下就是半小时起步,gc后还是没有效果,后来排查记录发现某笔记录提交几百G的冗余文件,虽然revert了,但是还是存在库中,遂如下清理:

# 查找大文件
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -10# 根据HSA值找到对应文件名
git rev-list --objects --all | grep xxxxxxxxx# 前两条命令的组合
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -n | tail -10 | awk '{print$1}')"# 强制删除YOU-FILE-NAME,非常耗时
# filter-branch:  重写Git仓库中的提交
# --index-filter: 指定后面命令进行删除
# --all:          所有分支的提交(位于/refs下的所有引用)
git filter-branch --force --prune-empty --index-filter "git rm -rf --cached --ignore-unmatch YOU-FILE-NAME" --tag-name-filter cat -- --all# 彻底清除
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d
git gc --aggressive --prune=now# 强制推送
git push --force --all
http://www.lryc.cn/news/511527.html

相关文章:

  • C++进阶重点知识(一)|智能指针|右值|lambda|STL|正则表达式
  • OSCP打靶大冒险之Solidstate:多端口获取信息,shell逃逸,计划任务提权
  • 八股(One Day one)
  • 如何快速又安全的实现端口转发【Windows MAC linux通用】
  • LongLLMLingua: 长上下文场景的智能提示压缩框架
  • Django serializers:把ValidationError处理的更优雅
  • CASA(Carnegie-Ames-Stanford Approach) 模型原理及实践技术
  • 【HarmonyOS之旅】ArkTS语法(一)
  • 【畅购电商】项目总结
  • python|利用ffmpeg按顺序合并指定目录内的ts文件
  • IP属地和所在地不一致什么意思?怎么换成另外一个地方的
  • Hive其十,优化和数据倾斜
  • matlab reshape permute
  • 数据库sql语句单表查询
  • Linux高级--2.4.2 linux TCP 系列操作函数 -- 深层理解
  • 科技快讯 | 水滴筹成为民政部指定个人求助网络服务平台;小米超级小爱首次向正式版用户开放;腾讯发布全球首个重症医疗大模型
  • 强化特种作业管理,筑牢安全生产防线
  • 跨语言学习之C++ 和 Python 的赋值操作 (等号“=“) 的区别
  • 【操作系统】如何创建一个守护进程
  • 常见显示方案
  • USB Hub 检测设备
  • 安卓开发使用Gemini高效AI开发-Android Studio 中使用Gemini
  • wangEditor富文本插件在vue项目中使用和媒体上传的实现
  • ESP-IDF学习记录(2)ESP-IDF 扩展的简单使用
  • python中函数的用法总结(二阶段)
  • 一份关于 Ubuntu 系统下代理配置的故障排查笔记
  • 使用 Colyseus 构建多人实时白板应用
  • 【探花交友】SpringCache
  • Spring API 接口加密/解密
  • 漏洞扫描:网络安全的 “体检” 与 “防护指南”