众所周知,我们可以定期运行 git gc
打包 .git/objects
下的对象.
在远程中央 Git 存储库(裸或非裸)的情况下,经过多次推送后,myproj.git/objects
下有许多文件;每次提交似乎都会在那里创建一个新文件。
如何打包那么多文件? (我指的是远程中央裸存储库中的那些,而不是本地克隆存储库中的那些。)
最佳答案
远程仓库应配置为在提交后根据需要运行 gc。请参阅 git-gc
和 git-config
手册页中的 gc.auto
文档。
然而,远程仓库不应该需要那么多垃圾收集,因为它很少有悬空(无法访问)的提交。这些通常是由分支删除和 rebase 之类的事情引起的,这通常只发生在本地存储库中。
所以重新打包需要更多的gc,这是为了节省存储空间而不是清除实际垃圾。 gc.auto
变量足以处理此问题。
关于git - 如何在 Git 远程存储库上触发垃圾回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162786/