2014-11-04 470 views
0

我能够从git远程推拉到昨天。我不知道(或者记住)我今天做了什么,突然间我无法推送到远程git回购。我收到以下错误在推送时出现致命错误并克隆git

$ git push 
Counting objects: 83, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (16/16), done. 
Writing objects: 100% (17/17), 1.32 KiB | 0 bytes/s, done. 
Total 17 (delta 12), reused 0 (delta 0) 
remote: fatal: unresolved deltas left after unpacking 
error: unpack failed: unpack-objects abnormal exit 
To //myserver/git/apps/myApp.git 
! [remote rejected] master -> master (unpacker error) 
error: failed to push some refs to '//myserver/git/apps/myApp.git' 

,当我尝试克隆我再次收到错误

$ Git clone //myserver/git/apps/myApp.git/ 
Cloning into 'MyApp'... 
done. 
fatal: unable to read tree 18295307f1270da3c09e3de91890652af4ff7ca8 
warning: Clone succeeded, but checkout failed. 
You can inspect what was checked out with 'git status' 
and retry the checkout with 'git checkout -f HEAD' 

两个

git status 

git checkout -f HEAD 

给出错误

fatal: unable to read tree 18295307f1270da3c09e3de91890652af4ff7ca8 

任何人都可以帮助我理解哪里出了问题,我该如何解决?

谢谢

+0

可能重复的[如何诊断和修复git fatal:无法读取树](http://stackoverflow.com/questions/20870895/how-to-diagnose-and-fix-git-fatal-unable-to -read-tree) – Makoto 2014-11-04 18:49:21

+0

我得到了类似的问题(虽然克隆回购,而不推),进一步分析后,我发现我有一个在同一目录路径中具有相同名称的文件,但情况不同。有人从linux开发机器推送它,我试图将它克隆到Windows。 – Ajay 2014-11-04 18:56:23

+0

我克隆在新鲜的目录中,仍然是致命的错误。 – 2014-11-04 19:00:38

回答

0

所以我解决了这个问题。幸运的是,我的远程回购是最新的,没有错误。带验证对象命令

git fsck --full 

我看到了悬挂的树。所以我找到服务器并将这些缺少的对象复制到我的本地副本。随着连续检查和复制,我能够带来所有缺失的对象,并最终能够推动。艾维的东西现在是最新的。

破坏本地副本的原因可能是我删除了该分支。我已经完成了。