Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有明显的原因,git repo对象目录会膨胀到较大的大小_Git - Fatal编程技术网

没有明显的原因,git repo对象目录会膨胀到较大的大小

没有明显的原因,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-

我对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-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