2011-10-06 14 views
10

, ben benim git depo üzerinde herhangi komutu girdiğinizde hata aşağıdadır:Bozuk git deposu nasıl geri yüklenir? bir git tamamlamak sonra dondurulan benim laptop Donanımdan sıfırlama işleminden sonra

$ git status 
fatal: failed to read object de02e6d5cd7823ea788429a33583bede09221163: Invalid argument 

benim git depo kurtarmak için yine de var mı?

Ben iki aşağıdaki sorulardan çözüm bulamadık:

EDIT: Ben git depo ne de herhangi bir çözümün yolsuzluk neyin sebep olduğu tespit etmedi Bunu geri yüklemek için ... Sonunda SVN depomdan yeni bir klonla başladım!

+2

Buradaki ilk adım dosya sistemlerinizi kontrol etmektir. Bu hata garip. Sizi ya da işletim sisteminizin bunun için ne yaptığını biliyor muydunuz? Ve başka bir şey yapmadan önce ** BACKUP ** yapın. – Mat

+0

Neredeyse tüm cevaplar, birisinin bozulmamış bazı uzak köklerden yeniden kopyalanabileceğini varsayar. İşte sorun ... Ya sen ** köken, ve sen bozuksun? Sağ. Yani, burada: 'git-repair'' git fsck'i çalıştıracak ve karşılaştığı sorunları düzeltmek için oldukça zor bir program. https://git-repair.branchable.com/ Oldukça yetenekli görünüyor, ve eğer bir nesneyi (eğer varsa!) bir kopyadan kopyalamak zorunda kalsanız bile (bir yedeklemeniz var, değil mi?) ne olursa olsun onu kurtarıp gerçek işi bırakarak, çok fazla otomatikleştirilemeyen görevler. Bağlantısızlık, vb. –

cevap

2

yardımcı olur, yukarıdaki cevapların hiçbiri çalıştı. Git repo'yu yeniden klonladım ve her şey yolundaydı. Klonlamadan önce, değiştirilen tüm dosyaları açtım ve çekildikten sonra üzerlerine yazdım.

Bu yüzden sık sık işlem yapmalısınız :).

1

Deponuzu son zamanlarda github veya bitbucket gibi herhangi bir yere ittiniz mi? Başka bir klon alabilir ve nesne dizinini kopyalayabilirsiniz.

Aksi halde:

reflog ile
git fsck 
git branch -a 
git branch -a | xargs -n 1 git log -1 
git reflog 

, sen başarılı bir günlüğünü yapabileceği olanların hangisinin bkz:

bunların nasıl vadede birçok bakın. Umarım bu sadece bozuk olan veya ağaçlarından biri olan en son işlemdir.

Umut bu benim için

+1

Elbette yeni bir klonla başlayabilirim, umarım svn trunk'umdan çok uzakta değilim (yerel repo'm bir git-svn klonudur). Ama merak ediyorum da, bu tür bir sorunun geri kazanılıp kurtarılamayacağı ve gelecekte yeniden üretilmesini önlemek için kökeninin kaynağı neydi? – greydet

İlgili konular