nrz*_*nrz 16 git git-pull git-fetch
如果git fetch
被例如Ctrl-C中断或由连接问题引起,那么之后git fetch
也git pull
无法工作.
user@computer:~/code/openttd-git$ git fetch
^C
user@computer:~/code/openttd-git$ git fetch
error: Unable to find 22d90742fc79a9011fb86ee03d8aeea66bc12657 under http://git.openttd.org/openttd/trunk.git
Cannot obtain needed object 22d90742fc79a9011fb86ee03d8aeea66bc12657
error: Fetch failed.
Run Code Online (Sandbox Code Playgroud)
我相信这与存储库无关.使用git clone
创建这个破碎的本地资源库的拷贝到一个新的本地存储库不解决这个问题.到目前为止,我所知道的唯一解决方案是git clone
将整个远程存储库(origin/master
)转换为新的本地存储库.但是有没有更好(更快)的解决方案?
有Debian的bug报告有最后的消息,从2011年2月这是相同的错误我还是有已经有修补程序或任何解决方案或解决方法呢?我的git版本是1.7.10.
小智 9
试试这些命令:
git fsck
git gc
Run Code Online (Sandbox Code Playgroud)
找到一个*.pack.temp
在.git/objects/pack
你的本地仓库.然后找到一个.idx
具有相同基本名称的文件,并将它们移开(或删除它们,但最好是安全而不是遗憾).重新运行git fetch
它应该工作(好吧,它为我做了).
例如:
% git fetch
error: Unable to find a4fb0b54b2609df8a1ee4b97c268d205fc5bf9f1 under https://www.example.com/~someuser/something.git
Cannot obtain needed object a4fb0b54b2609df8a1ee4b97c268d205fc5bf9f1
error: fetch failed.
% ls -l .git/objects/pack
total 65872
-rw-r--r-- 1 someuser someuser 64072 Feb 12 2014 pack-2e31e66e67d8596f1193bbbc06c87293900c6e45.idx
-rw-r--r-- 1 someuser someuser 16920 Jul 21 2013 pack-3d76e0bf6c67d71913efc0711d56f04c7f79b95d.idx
-rw-r--r-- 1 someuser someuser 62224 Feb 11 2014 pack-74107fa80989df6619479874d94b5f8ed010fd2f.idx
-rw-r--r-- 1 someuser someuser 96552 Oct 30 22:55 pack-bb75633331ea0e74d4d3cb29f7660e1ba00fb899.idx
-rw-r--r-- 1 someuser someuser 73228 Mar 6 2014 pack-de0c1bcf3550cd7a2fd0c5a981bc17d15f1144c0.idx
-r--r--r-- 1 someuser someuser 129144 Feb 2 18:57 pack-ffb25d036dea040923468e2de07023f9b497aeb7.idx
-r--r--r-- 1 someuser someuser 46413554 Feb 2 18:57 pack-ffb25d036dea040923468e2de07023f9b497aeb7.pack
-r--r--r-- 1 someuser someuser 129312 Feb 2 19:10 pack-ffbdfa2c676aaf392ea722cb68eaa87e45af092c.idx
-rw-r--r-- 1 someuser someuser 20450545 Feb 2 19:09 pack-ffbdfa2c676aaf392ea722cb68eaa87e45af092c.pack
-rw-r--r-- 1 someuser someuser 129312 Feb 2 18:36 pack-ffbdfa2c676aaf392ea722cb68eaa87e45af092c.idx
-rw-r--r-- 1 someuser someuser 9863168 Feb 2 18:37 pack-ffbdfa2c676aaf392ea722cb68eaa87e45af092c.pack.temp
% mv .git/objects/pack/pack-ffbdfa2c676aaf392ea722cb68eaa87e45af092c.idx /tmp/
% mv .git/objects/pack/pack-ffbdfa2c676aaf392ea722cb68eaa87e45af092c.pack.temp /tmp/
% git fetch
From https://www.example.com/~someuser/something
3288ab9..a4fb0b5 master -> origin/master
Run Code Online (Sandbox Code Playgroud)