Egit na tree desaparecida do eclipse

Parece que tenho um erro de tree ausente. Só para ser justo, eu fiz totalmente apenas bagunçar meus arquivos locais no git e me cansei e fiz uma exclusão completa do disco rígido no meu repository e recodifiquei do master remoto. Agora estou recebendo o seguinte erro. Uma das primeiras coisas que fiz foi criar um ramo local para o meu trabalho.

As chances são que eu poderia ter recuperado muito do meu trabalho se eu não apagar tudo, mas hey, passe tenso – certo? (Isso pode mostrar meu estado de espírito agora com o git e meu projeto também …)

Se faz alguma diferença estou fazendo um projeto android.

Estou lendo este post e parece útil, mas não tenho idéia de como encontrar o hash “sha1 a30df1173f14dea24df661f1eef749fed2f4e1ed”.

Fazendo

git ls-tree a30df1173f14dea24df661f1eef749fed2f4e1ed

Me dá o seguinte

100755 blob 2851ba4fdf2a134f8fc97fd60b3045b73cd6039b .DS_Store 100755 blob 3f9691c5dda29b09cb96060fd6ec7017f6c671d2 .classpath 100755 blob c50d3b4fe2f6221db617840561dc94d7690bb883 .gitignore 100755 blob 6b58f1723a252cfd314d108fadac4b71a4209c1c .project 100755 blob 39f00018845d776de324707090d26c5153720e22 AndroidManifest.xml 100755 blob 94a9ed024d3859793618152ea559a168bbcbb5e2 COPYING 100755 blob c1853e4c312a938d5890f5f4e0844782429ba11e default.properties 040000 tree 423accda532f8788f916b26b863ddf32e2896aa6 docs 160000 commit 0000000000000000000000000000000000000000 eagle vision 100755 blob 424f2604203eabd2310165b143b430326aa87ee7 ic_launcher-web.png 040000 tree 2b83cd828cd11a11e84a2d8f646dfa40de109827 libs 100644 blob 8a7b1fac8f8c12e925e56776f225730c4712f92a lint.xml 040000 tree c0182f719fccf5fc8b0d7658c3d15fe4deac0d9e plugins 100755 blob f2fe1559a217865a5454add526dcc446f892385b proguard-project.txt 100755 blob 9ae01de96458dbded45d2a442c09c0f4d33e473a project.properties 040000 tree 3c9446b3bb23eebe80942992ee03e01a7390ba80 res 040000 tree 895e957ccc4ee642127c25a3481d784302e44a70 src 

De todos eles a visão da águia parece estranha com todos aqueles 0s:

160000 commit 00000000000000000000000000000000000000 visão de águia

Não tenho certeza onde vou com isso. Tentar passar pelo git faq não vai muito longe.

Aqui está todo o erro:

 eclipse.buildId=v22.0.0-675183 java.version=1.7.0_21 java.vendor=Oracle Corporation BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Framework arguments: -product com.android.ide.eclipse.adt.package.product Command-line arguments: -os linux -ws gtk -arch x86_64 -product com.android.ide.eclipse.adt.package.product Error Sun Oct 13 21:11:59 CDT 2013 Missing tree 2ec4e5b3e0e3d9ccc766fd1ed0dccaedcef3e53a org.eclipse.jgit.errors.MissingObjectException: Missing tree 2ec4e5b3e0e3d9ccc766fd1ed0dccaedcef3e53a at org.eclipse.jgit.storage.file.WindowCursor.open(WindowCursor.java:127) at org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(CanonicalTreeParser.java:201) at org.eclipse.jgit.treewalk.TreeWalk.parserFor(TreeWalk.java:984) at org.eclipse.jgit.treewalk.TreeWalk.addTree(TreeWalk.java:468) at org.eclipse.egit.core.synchronize.GitSyncCache.loadDataFromGit(GitSyncCache.java:130) at org.eclipse.egit.core.synchronize.GitSyncCache.getAllData(GitSyncCache.java:85) at org.eclipse.egit.core.synchronize.GitSyncCache.getAllData(GitSyncCache.java:63) at org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber.refresh(GitResourceVariantTreeSubscriber.java:180) at org.eclipse.team.core.subscribers.Subscriber.refresh(Subscriber.java:466) at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.handleRepositoryChange(GitSubscriberMergeContext.java:142) at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.access$0(GitSubscriberMergeContext.java:133) at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext$1.indexDiffChanged(GitSubscriberMergeContext.java:68) at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache.notifyListeners(IndexDiffCache.java:98) at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache.access$0(IndexDiffCache.java:89) at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache$1.indexDiffChanged(IndexDiffCache.java:84) at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.notifyListeners(IndexDiffCacheEntry.java:425) at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.access$8(IndexDiffCacheEntry.java:417) at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry$5.run(IndexDiffCacheEntry.java:358) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

160000 é uma input especial para gravar um submódulo.
Um SHA1 é igual a 40 zeros significa que o submódulo foi deletado (veja git-submodule.sh ) ou em um estado desconhecido :

Quando você compara algo com um estado de tree de trabalho e quando o estado da tree de trabalho está sujo, sempre mostramos 0{40} para dizer “está sujo e não sabemos qual é o nome desse object, até que você realmente execute git-update-index (ou git-add) it “(e nesse ponto ele deixaria de ser sujo).
Para blobs (seja um arquivo regular ou um link simbólico), isso tem a vantagem de não ter que executar o hash-object para obter o nome do object de um object que seria criado se você realmente o tivesse adicionado.

Quando verificamos se está suja, já fazemos um lstat (2) e sabemos o tipo dele, assim podemos mostrar os bits de modo. Então você verá 100644, 100755 ou 120000 para blobs. Da mesma forma para um submódulo.

Para um submódulo, podemos ler o valor de $ sub / .git / HEAD, mas é mais consistente mostrar 0 {40} no lado da tree de trabalho (normalmente o lado direito, a menos que você use -R).

Portanto, verifique se você tem um .git/modules/asubmodule/HEAD .
Ou tente limpar a input do submódulo e redeclarar esse submódulo para URL de visão da águia.

Mas a sua tree em falta pode não estar relacionada com essa input.