2011-10-06 25 views
10

अपने लैपटॉप की हार्ड रीसेट उसके बाद एक Git प्रतिबद्ध फ्रीज करने के बाद, मैं त्रुटि निम्न जब मैं अपने Git भंडार पर किसी भी आदेश दर्ज करें:दूषित गिट भंडार को पुनर्स्थापित कैसे करें?

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

वहाँ किसी भी तरह अपना Git भंडार ठीक करने के लिए है?

मैं दो निम्न सवालों से एक समाधान नहीं मिला:

संपादित करें: मैं नहीं मिला था कि मेरी Git भंडार है और न ही किसी भी समाधान के भ्रष्टाचार की वजह से इसे बहाल करने के लिए ... मैंने अंत में अपने एसवीएन भंडार से एक नया क्लोन शुरू किया!

+2

पहला कदम यहां आपके फाइल सिस्टम की जांच करना है। वह त्रुटि अजीब है। क्या आपने 'fsck' किया था या जो भी आपके ओएस के लिए है? और कुछ और करने से पहले ** ** बैकअप ** करें। – Mat

+0

लगभग सभी उत्तरों का मानना ​​है कि कोई भी कुछ अनजान रिमोट उत्पत्ति से फिर से क्लोन कर सकता है। यहां समस्या है ... क्या होगा यदि आप ** मूल हैं, और आप दूषित हैं? सही। तो, यहां: 'गिट-रिपेयर' एक ऐसा प्रोग्राम है जो 'गिट एफएसके' चलाएगा और किसी भी समस्या का सामना करने के लिए काफी मेहनत करेगा। https://git-repair.branchable.com/ यह काफी सक्षम लगता है, और यद्यपि आप बैकअप से ऑब्जेक्ट्स (यदि आप कर सकते हैं!) ऑब्जेक्ट्स को समाप्त कर सकते हैं (आपके पास बैकअप है, है ना?), यह आपको बचाएगा जो भी हो सकता है उसे सहेजकर और आपको वास्तविक काम छोड़कर बहुत समय लगता है, बहुत सारे स्वचालित कार्य नहीं। कोई संबद्धता, आदि –

उत्तर

2

मेरे लिए, उपर्युक्त उत्तरों में से कोई भी काम नहीं करता है। मैंने बस अपने गिट रेपो को फिर से क्लोन किया और सब ठीक थे। क्लोनिंग से पहले, मैंने उन सभी फ़ाइलों को खोला जो बदले गए थे और खींचने के बाद उन्हें ओवरराइट कर दिया था।

यही कारण है कि आपको अक्सर प्रतिबद्ध होना चाहिए :)।

1

क्या आपने हाल ही में अपनी रिपोजिटरी को जिथब या बिटबकेट जैसी कहीं भी धक्का दिया था? आप एक और क्लोन प्राप्त कर सकते हैं और ऑब्जेक्ट निर्देशिका की प्रतिलिपि बना सकते हैं।

अन्यथा:

देखें कि कैसे ये रन के कई:

git fsck 
git branch -a 
git branch -a | xargs -n 1 git log -1 
git reflog 
reflog साथ

, उन में से जो एक तुम से एक सफल लॉग कर सकते हैं देखते हैं। उम्मीद है कि यह सिर्फ आपकी नवीनतम प्रतिबद्धता है जो दूषित है या इसके पेड़ों में से एक है।

उम्मीद है कि यह

+1

निश्चित रूप से मैं एक नया क्लोन शुरू कर सकता हूं, उम्मीद है कि मैं अपने एसवीएन ट्रंक से बहुत दूर नहीं हूं (मेरा स्थानीय रेपो एक गिट-एसवीएन क्लोन है)। लेकिन मैं सोच रहा था कि इस तरह के मुद्दे को पुनर्प्राप्त किया जा सकता है और भविष्य में इसे पुन: पेश करने से बचने के लिए इसकी उत्पत्ति क्या थी। – greydet

संबंधित मुद्दे