git gc是否以确定的间隔执行?

Mat*_*att 11 git garbage-collection

我一直在阅读git,我有一个非常特别的问题,我正在努力回答.

什么时候自动git gc执行?

我一直在听到各种论坛的葡萄藤,它默认发生在推送或取/拉 - 但我找不到任何验证这一点的来源.甚至文档本身也只是这个(强调我的):

一些 git命令可以自动运行git gc; 有关详细信息,请参阅下面的--auto标志

并且--auto标志指定

执行可能会创建许多松散对象的操作后,某些 git命令会运行git gc --auto.

我希望能够确定地说:

"在运行以下命令之一之前,git不会清除松散的树和blob文件:{mystery list here}.当运行其中一个命令时,如果松散对象的数量超过了值gc.auto,git将自动将对象压缩为packfile".

Iva*_*van 7

目前这些是:

可以通过执行代码搜索来验证实际列表.

此外,您可以看到接收时的gc可以被禁用receive.autogc,其他人只是在最后运行gc.