मैं गिट 1.6.4.2 चला रहा हूं। कचरा संग्रह कहने में असफल रहा है "त्रुटि: <SHA1>
खोजने में असमर्थ"।गिट - एक लापता ब्लॉब से पुनर्प्राप्त कैसे करें
मैं निर्धारित करने के लिए कि लापता वस्तु एक ब्लॉब है प्रबंधित किया है, और वहाँ कोई रास्ता नहीं है कि मैं ब्लॉब फ़ाइल वापस प्राप्त कर सकते है। ऐसा लगता है कि "गिट एड" और "गिट प्रतिबद्ध" चलाने वाली 2 स्क्रिप्ट एक ही समय में चल रही थीं और एक दूसरे के साथ हस्तक्षेप करने में कामयाब रहे ताकि किसी ने फ़ाइल की एक नई संस्करण दूसरे की तुलना में किया हो, और पुराने संस्करण का ब्लॉब गायब हो गया।
तो क्या अब मैं क्या कोशिश कर रहा हूँ रोल वापस बाहर ले करने के लिए प्रतिबद्ध है कि पेड़ कि लापता ब्लॉब को संदर्भित करता है को संदर्भित करता है मेरी भंडार है।
मैं पर पता है जो शाखा के लिए प्रतिबद्ध किया गया था, इतने पर यह डफ की मूल प्रतिबद्ध करने के लिए रिवाइंड करने के लिए मैं "Git रीसेट" भाग गया। और मुझे पता है कि शाखा कहीं और विलय कर दी गई थी, इसलिए मैंने उस शाखा को भी दोहराया। तो जहां तक मुझे पता है, डफ प्रतिबद्ध/पेड़/ब्लॉब का कुछ भी संदर्भ नहीं है। लेकिन अगर मैं गिट prune --expire = अब गिट जीसी के बाद चलाता हूं तो मुझे अभी भी गायब वस्तु के बारे में एक त्रुटि मिलती है।
तो मेरे सवाल यह है: कैसे मैं हर पेड़ उद्देश्य यह है कि डफ ब्लॉब आईडी में शामिल है खोजने के लिए Git डेटाबेस क्वेरी कर सकते हैं? और फिर मैं यह कैसे पता लगा सकता हूं कि इसे बनाए रखने के लिए गिट प्रुन का कारण क्या है?
ट्रिकी !!
धन्यवाद केविन
'git fsck' का प्रयास किया? http://book.git-scm.com/4_maintaining_git.html –
मुझे यकीन नहीं है कि मैं समझता हूं कि क्या हुआ है। क्या आप रिपोर्ट कर सकते हैं कि 'git fsck' क्या कहता है? –
में थोड़ा और अधिक खुदाई यह पता चला है कि मेरे सवाल का जवाब यहां हो जाने के बाद: http://stackoverflow.com/questions/7201720/how-to-delete-a-blob-from-git-repo Git छँटाई नहीं था उन चीज़ों को छीनना जिन्हें मैं वापस घायल कर दूंगा क्योंकि रीफ्लॉग अभी भी इसका जिक्र कर रहा था - गिट रीफ्लॉग की अवधि समाप्त हो गई - एक्सायर्स = अब - यह तय किया गया है कि और संदर्भित पोस्ट संदर्भित करने के लिए प्रत्येक प्रतिबद्धता पर गिट लिस्ट्री चलाने के लिए एक तंत्र प्रदान करता है ब्लॉब – kbro