作者:Intopass
链接:https://www.zhihu.com/question/29769130/answer/45546231
来源:知乎

一:常规办法
1.删除无用的分支
gitbranch−d2.删除无用的taggitbranch−d2.删除无用的tag git branch -d 2.删除无用的tag git tag -d
3.清理本地版本库
$ git gc –prune=now

二:高级办法
注意高级办法会导致push冲突,需要强制提交,其他人pull也会遇到冲突,建议重新克隆。
!!!注意这些操作都很危险,建议找个示例库进行测试,确保自己完全掌握之后再实际操作。

1.完全重建版本库
rm−rf.gitrm−rf.git rm -rf .git git init
gitadd.gitadd. git add . git cm “first commit”
gitremoteaddorigingitremoteaddorigin git remote add origin git push -f -u origin master

2.有选择性的合并历史提交
$ git rebase -i

会进入一个如下所示的文件
1 pick ba07c7d add bootstrap theme and format import
2 pick 7d905b8 add newline at file last line
3 pick 037313c fn up_first_char rename to caps
4 pick 34e647e add fn of && use for index.jsp
5 pick 0175f03 rename common include
6 pick 7f3f665 update group name && update config

将想合并的提交的pick改成s,如
1 pick ba07c7d add bootstrap theme and format import
2 pick 7d905b8 add newline at file last line
3 pick 037313c fn up_first_char rename to caps
4 s 34e647e add fn of && use for index.jsp
5 pick 0175f03 rename common include
6 pick 7f3f665 update group name && update config

这样第四个提交就会合并进入第三个提交。
等合并完提交之后再运行
gitpush−fgitpush−f git push -f git gc –prune=now

只是为了clone小的话,用–depth=1只获取最新的commit即可

git pack文件过大相关推荐

  1. .git目录文件过大

    最近clone一个仓库发现文件夹巨大,查看具体文件体积并不大 后来发现是.git目录占用过多空间 显示pack内容 Git 往磁盘保存对象时默认使用的格式叫松散对象 (loose object) 格式 ...

  2. Git 提交报错,账户和密码错误 和 git add/git commit 文件太大太多

    问题1: Git 提交报错,账户和密码错误 重新使用git进行作业提交 问题2: 源码太大文件太多,失败 git add . git commit idea push操作 问题3:git push 报 ...

  3. Git objects文件夹下大文件清理

    Git objects文件夹下大文件清理 最近遇到git上工程突然变得很大,原因是.git/objects/pack 文件过大,之前上传过大文件,文件虽然删除,但是记录还在,在此先记录一下. # 例如 ...

  4. .git文件过大,怎么删除

    我们日常使用Git的时候,一般比较小的项目,我们可能不会注意到.git 这个文件. 其实, .git文件主要用来记录每次提交的变动,当我们的项目越来越大的时候,我们发现 .git文件越来越大. 很大的 ...

  5. git文件过大,怎么办?

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 最近遇到一个git文件过大的问题,针对这个问题进行了研究,在此与大家共享. [探索之路 ...

  6. Git突破文件限制上传大文件

    一.工作环境 操作系统:Windows10 64bits Git版本: Git-2.19.1 二.大文件上传 如果发现文件过大不能上传到github可以安装LFS(Large File Storage ...

  7. 【git】./git下路径某pack文件cannot be mapped:Resource temporarily unavailable

    项目场景:Cygwin64中使用git pull时出现./git下路径某pack文件cannot be mapped:Resource temporarily unavailable 相关背景: 题主 ...

  8. git文件过大 error: File: 113.66 MB, exceeds 100.00 MB.

    解决方案 查看哪个文件超过了100M 有可能错误直接爆出是哪个文件,也有可能只是爆出了该文件的代号.如果是代号需要先使用该语句查询具体是哪个文件 $ git rev-list --objects -- ...

  9. git 文件太大,清空历史commit

    文章目录 提交历史太多之后会造成 .git object 文件体积过大 进行删除并强制提交 git checkout --orphan latest_branch git add -A git com ...

最新文章

  1. 教你如何用python实现学生通讯录管理系统
  2. CCAI 2019 | 郑南宁:“自觉性AI技术”可助力无人驾驶
  3. 关键路径法及C语言实现
  4. 轻量级姿态估计simplepose
  5. 一场面试,用20秒介绍自己顺便教训了领导
  6. 数学建模学习笔记——拟合算法
  7. abap的子程序参数 USING 和 CHANGING 使用问题
  8. 我从ColdFusion迁移到Java开发
  9. 【Fiddler篇】FreeHttp无限篡改http报文数据调试和mock服务
  10. 美国高级情报研究计划局(IARPA)发起公共安全问题预测机器学习挑战赛(总奖池10万美金)...
  11. 防止ARP欺骗的方法!!!
  12. Java解析JSON大文件解决方案之JsonReader
  13. 计算机网络教室管理制度
  14. MDI格式文件的打开与转换(pdf)
  15. linux怎么查看hwaddr_Linux查看MAC地址方法
  16. 软件工程的未来发展趋势
  17. 计算机网络实验4 — 网线制作
  18. aid learning安装应用_极致安卓—Termux/Aid Learning安装宇宙最强VS Code
  19. 关于2进制与十六进制的转换;C语言
  20. 技术前沿---5G技术的实现原理

热门文章

  1. 计算机操作系统——(第四章) 存储器管理/内存管理
  2. 进阶版--Mongodb命令汇总
  3. 【51单片机实验笔记】1. LED的初级控制
  4. APK Image Extractor(安卓APK图像提取) v2.0
  5. Android 布局旋转 横屏竖屏
  6. Analyzing the Linux boot process-分析Linux启动过程
  7. 专业英语---短语篇
  8. Windows指纹登录
  9. Maven私服Nexus-3.49.0配置
  10. 整理了MariaDB和MySQL数据库历年发布版本和对应关系,方便记忆命令。