Git也有垃圾回收吗?是的,真的有,git gc
执行的就是垃圾回收的事情,这不是一个常用的命令,很少人会用到。接下来我们就看看Git是如何做垃圾回收的。
首先我们看看Git的垃圾回收都做了一些什么事情:
当对象没有被引用的的时候,就意味着这些对象不可达的,需要被清理掉,避免占用过多资源。
git commit
时,触发git maintenance
,进而触发git gc
git receive-pack
进而触发git gc
git gc
命令除了使用git gc
来清理垃圾数据,git还提供了下面的几个子命令来逐项清理数据;
git pack-refs
:打包引用文件git rerere gc
:清理rerere命令缓存git worktree prune
:清理worktree元数据git prune
:清理不可达对象git reflog expire
清理操作日志记录git repack
:打包数据对象文件【文章不错,鼓励一下】