Git也有垃圾回收吗?是的,真的有,git gc执行的就是垃圾回收的事情,这不是一个常用的命令,很少人会用到。接下来我们就看看Git是如何做垃圾回收的。
首先我们看看Git的垃圾回收都做了一些什么事情:
当对象没有被引用的的时候,就意味着这些对象不可达的,需要被清理掉,避免占用过多资源。
git commit时,触发git maintenance,进而触发git gcgit 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:打包数据对象文件【文章不错,鼓励一下】