जब तक आपने .git
निर्देशिका में डेटा पर हैक किया है, तो यह संभावना नहीं है कि आपने कुछ खो दिया है। आपके पास साफ करने के लिए एक भयानक गड़बड़ी हो सकती है, और यह आपके द्वारा किए गए कार्यों और जहां यह है, वहां बहुत काम कर सकता है, लेकिन शायद आपने कुछ भी खो दिया नहीं है।
यह अच्छी खबर है।
बुरी खबर यह है कि किसी के लिए आपकी मदद करने के लिए यह बेहद मुश्किल होगा।
आपको सभी शाखाओं की पहचान करने की आवश्यकता है, और प्रत्येक पर आगे की ओर ट्रेस करने की आवश्यकता है। आपको यह तय करने की आवश्यकता होगी कि क्या उन सभी git commit -a
'ऑपरेशन एक अच्छा विचार थे। यह असंभव लगता है - इसलिए आपको प्रत्येक शाखा पर अगले अंतिम प्रतिबद्धता से काम करने के लिए, अपने विलय ठीक से करने की आवश्यकता हो सकती है।
आपको यह भी तय करने की आवश्यकता है कि आप वास्तव में क्या करने की कोशिश कर रहे थे।
ऐसा लगता है कि आप कुछ शाखाओं को मर्ज करना चाहते हैं - उन्हें शाखा शाखा, शाखाबी, और शाखासी - मुख्य शाखा, मास्टर पर कॉल करें। लेकिन यह स्पष्ट नहीं है कि आपने जो कोशिश की है।
यह देखते हुए कि चीजें गड़बड़ की हैं, मैं एक और शाखा बनाने की सलाह देता हूं जिसे हम 'फिक्सअप' कह सकते हैं। मास्टर शाखा के प्रमुख से इसे बनाएं।फिर, फिक्सअप शाखा में शाखा शाखा, शाखा बी और शाखासी के प्रत्येक उपयुक्त संस्करण को मर्ज करें। प्रत्येक चरण में, जांचें कि कोड वास्तव में सही तरीके से काम करता है - अपने टेस्ट सूट को पास कर रहा है, आदि फिक्सअप शाखा पर अलग-अलग विलय में जांचें।
जब आप संतुष्ट हैं कि फिक्सअप शाखा सही है, तो मास्टर शाखा में वापस स्विच करें और फ़िक्सअप शाखा को मास्टर में विलय करें।
चार्ल्स बेली बहुत समझदार सुझाव (प्रश्न के लिए एक टिप्पणी में) बनाता है: इससे पहले कि आप कुछ और, बिल्कुल के रूप में यह वर्तमान में है, तो आप क्या मिल गया है की एक बैकअप प्रतिलिपि बनाते हैं। केवल तब किसी भी सफाई अभियान के साथ आगे बढ़ें। और इंटरैक्टिव सहायता पाने के उनके सुझाव भी समझदार हैं।
स्रोत
2010-08-21 23:51:21
-केवल पढ़ने के लिए अधिमानतः एक पुराने बैकअप को वापस लाएं हमेशा के लिए मुझे –
पहले काम करता है, अब अपने काम के पेड़ और '.git' फ़ोल्डर की एक पूरी बैकअप बनाने और कहीं सुरक्षित रखा है,। आपने जो कहा है उससे यह बहुत ही असंभव लगता है कि आपने काम खो दिया है (कोई 'रीसेट - हार्ड' नहीं है, और ऐसा लगता है जैसे आप शाखाओं पर किए गए कार्यों के साथ गड़बड़ कर रहे थे)। एक बार जब आप ऐसा कर लेंगे और एक इंटरैक्टिव चैनल पर गिट विशेषज्ञ ढूंढें तो कहीं भी जो आपके पिछले राज्य को खोजने और पुनर्स्थापित करने के तरीके से बात कर सकता है। stackoverflow लगभग निश्चित रूप से इसके लिए मंच नहीं है क्योंकि आपको केवल एक प्रश्नोत्तर नहीं बल्कि इंटरैक्टिव सहायता की आवश्यकता है। –
सभी को धन्यवाद, मैं सभी सुझावों का उपयोग करूंगा और कुछ समझूंगा, मैं वास्तव में अभी तक कोई जवाब नहीं ले सकता। –