我花了很多时间寻找我的" Git GC挂起的答案"问题,但我还没有找到一个。 我在BitBucket上有一个1.8GB的Python项目,我正试图减小它的大小。我跟着BitBucket guideline来减少仓库大小,所以我运行了以下命令:
typedef struct
{
char nome[100];
char dica[10][300];
} PAIS;
int main()
{
PAIS paises[50];
char nome[30];
FILE *arq;
arq = fopen("Dicas3.txt", "r");
if(arq == 0) {
printf("file not present:\n");
return 0;
}
int i=0,j=0;
char ch;
while(fscanf(arq,"%s",paises[i].dica[j])>0) {
printf("%s ",paises[i].dica[j]);
j++;//column
if((ch = fgetc(arq))=='\n')//when new lines occures, start reading from next lines, do i++
{
i++;//rows or lines
printf("\n");//manuaally put the new line or use fputc(ch,stdout)
fseek(arq, -1, 1);//move one letter back
j=0;
}
else
fseek(arq, -1, 1);//move to exact position
}
return 0;
}
以下是结果:
$ git reflog expire --expire=now --all
$ git gc --prune=now
它挂了。
我第一次尝试,我等了一个小时然后取消了它。第二次,我让它一夜之间运行,它仍然挂起。
当我运行Counting objects: 24762, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22140/22140), done.
Writing objects: 100% (24762/24762), done.
Total 24762 (delta 2437), reused 24762 (delta 2437)
时,它显示我的垃圾大小为1.8 GB,如下所示:
git count-objects -v