GIT 库整理方法

      当一个对象在版本库中没有任何引用关联它的时候,它就成了"孤魂野鬼",不但发挥不了作用,还会白白占用版本库的容量空间。

    一般来说,撤销命令或更改命令会产生这些垃圾。如:

$ git reset  HEAD  //对暂存区的撤销命令

$ git reset --hard HEAD^  //对某次提交的撤销命令

清理垃圾的方法有以下2种:

1.人工手动法

‌step 1: $ git reflog expire --expire=now --all

//设置历史记录的过期时间为现在,默认为90天。目的是放弃所有未关联对象恢复的可能性,因为reflog 是找寻它们踪迹的最后途径了。

‌step 2: $ git reflog

//查看是否清空了引用记录

‌step 3: $ git prune

//执行清除命令,清除所有未关联的对象!

2.自动整理法

‌step 1: $ git reflog expire --expire=now --all

//设置所有未关联对象过期时间为现在,默认为90天。

‌step 2: $ git gc  [--prune=now]

//不加参数时,默认会清理两周之前产生的所有未关联的文件对象,加上参数则清理现在之前所有未关联文件对象。

*可以通过设置gc.auto 的值(默认值6700),当对象库.git/objects/17/子目录中的对象超过(gc.auto+255)/256 时,来使gc 自动执行整理命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leon_George

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值