没有明显的原因,git repo对象目录会膨胀到较大的大小
我对git存储库突然膨胀到非常大的规模感到不满 这是设置 这里有一个git master repo,包含大约900meg的文件和对象文件,即1.8g:没有明显的原因,git repo对象目录会膨胀到较大的大小,git,Git,我对git存储库突然膨胀到非常大的规模感到不满 这是设置 这里有一个git master repo,包含大约900meg的文件和对象文件,即1.8g: [gitmaster.local] du -hs 2.7G . [gitmaster.local]$ cd .git/objects/ [gitmaster.local]$ du -hs 1.8G . 我确实对回购协议进行了一些维护,以保持其清洁。 我每天在脚本中运行以下两个命令: GIT_PROG2="/usr/bin/git-
[gitmaster.local] du -hs
2.7G .
[gitmaster.local]$ cd .git/objects/
[gitmaster.local]$ du -hs
1.8G .
我确实对回购协议进行了一些维护,以保持其清洁。
我每天在脚本中运行以下两个命令:
GIT_PROG2="/usr/bin/git-reflog expire --expire=now --all"
GIT_PROG3="/usr/bin/git-gc"
每周我都会运行这些:
GIT_PROG2="/usr/bin/git-reflog expire --expire=now --all"
GIT_PROG3="/usr/bin/git-repack -a -d --depth=250 --window=250 -f "
有几个不同的git客户端大约每15-30分钟从这个服务器上拉一次。
他们通过一个cron作业通过一个简单的“git拉动”来拉动完全相同的东西。每周,这些回购协议的作用如下:
GIT_PROG2="/usr/bin/git-reflog expire --expire=now --all"
GIT_PROG3="/usr/bin/git-gc"
然而,偶尔,其中一个会失控,并用占99.9%的空间的.git/对象填充其磁盘空间。它所做的只是一个简单的“git拉动”
gitclient001
1.3G .
gitclient002
1.3G .
gitclient003
1.3G .
gitclient004 <-- woops!
101.2G .
gitclient005
1.3G .
gitclient006
1.3G .
gitclient001
1.3G。
gitclient002
1.3G。
gitclient003
1.3G。
gitclient004您是否试过运行git fsck
并查看它是否报告了任何可以解释问题的内容
您可以编写一点脚本,然后将blob传递给gitshow1 | wc
,查看是否有大的blob。您的repo中是否有大的二进制文件。我想知道git是否决定保留副本而不是计算增量或大文件。您也尝试过更新/不同版本的git吗?没有二进制文件,只有一堆json和txt文件。最大的文件是一个1.1M的目录(不包括其中的json)该死,今天又有一个。您是否尝试过升级git?我看到最新版本是v1.7.12.2,很抱歉,它实际上是v1.7.12.3