git pull报错
在git pull时,偶尔会遇到一个报错:
Unlink of file '.git/objects/pack/old-07de1ebcd020b809a421fceb567977352258b859.idx' failed. Should I try again? (y/n)
不管是y还是n都会不断地出现这种提示信息。
有人说文件被占用了,这个没有试过,如果真的文件被占用了,关掉被占用的文件即可(文件夹也需要关闭)。
看到有个提示信息:
remote: Counting objects: 16, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 16 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (16/16), done.
From 10.8.5.131:technique/documents
fd56988..5662668 master -> origin/master
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Counting objects: 19017, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6867/6867), done.
Writing objects: 100% (19017/19017), done.
Total 19017 (delta 11875), reused 18994 (delta 11863)
Unlink of file '.git/objects/pack/old-07de1ebcd020b809a421fceb567977352258b859.idx' failed. Should I try again? (y/n)
git help gc
虽然提示信息中并没有说因为什么,不过按照提示,可以查看一个git gc的内容。
果然,执行git gc就可以达到效果了。
$ git gc --auto
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Counting objects: 19017, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6855/6855), done.
Writing objects: 100% (19017/19017), done.
Total 19017 (delta 11875), reused 19017 (delta 11875)
Removing duplicate objects: 100% (256/256), done.
最后有个提示:
Removing duplicate objects
也就是说这个问题是因为重复文件导致的。
再继续git pull,一切ok了。