मैंने अभी कुछ प्रयोगात्मक परिवर्तनों के साथ गलत शाखा को हटा दिया है जिनकी मुझे आवश्यकता है git branch -D branchName
।
मैं शाखा कैसे पुनर्प्राप्त करूं?
मैंने अभी कुछ प्रयोगात्मक परिवर्तनों के साथ गलत शाखा को हटा दिया है जिनकी मुझे आवश्यकता है git branch -D branchName
।
मैं शाखा कैसे पुनर्प्राप्त करूं?
जवाबों:
आप शाखा के आखिरी कमेटी के SHA1 को खोजने के लिए git reflog का उपयोग कर सकते हैं । उस बिंदु से, आप का उपयोग करके एक शाखा को फिर से बना सकते हैं
git branch branchName <sha1>
संपादित करें: जैसा कि @seagullJS कहता है, branch -D
कमांड आपको sha1 बताता है, इसलिए यदि आपने टर्मिनल बंद नहीं किया है, तो यह वास्तविक आसान हो जाता है। उदाहरण के लिए यह हटाता है और फिर तुरंत नाम की एक शाखा को पुनर्स्थापित करता है master2
:
user@MY-PC /C/MyRepo (master)
$ git branch -D master2
Deleted branch master2 (was 130d7ba). <-- This is the SHA1 we need to restore it!
user@MY-PC /C/MyRepo (master)
$ git branch master2 130d7ba
git branch branchName origin/branchName
यदि आपने शाखा को हटा दिया है, तो आपको अपने टर्मिनल में कुछ इस तरह दिखाई देगा:
Deleted branch branch_name(was e562d13)
- जहां e562d13 एक अद्वितीय आईडी है (उर्फ "SHA" या "हैश"), इसके साथ आप हटाए गए शाखा को पुनर्स्थापित कर सकते हैं।
शाखा को पुनर्स्थापित करने के लिए, उपयोग करें:
git checkout -b <branch_name> <sha>
उदाहरण के लिए :
git checkout -b branch_name e562d13
पहला: .IT निर्देशिका सहित अपनी पूरी निर्देशिका का बैकअप लें।
दूसरा: आप git fsck --lost-found
खोए हुए कमिट्स की आईडी प्राप्त करने के लिए उपयोग कर सकते हैं ।
तीसरा: खोए हुए कमिट पर रिबास या मर्ज।
चौथा: हमेशा उपयोग करने से पहले दो बार सोचें -डिट के साथ -फोर्स करें :)
आप इस अच्छी चर्चा को भी पढ़ सकते हैं कि इस तरह की त्रुटि से कैसे उबरें।
संपादित करें: वैसे, चलाएं git gc
(या इसे अपने आप चलाने की अनुमति न दें - यानी न चलाएं git fetch
और न ही ऐसा कुछ) या आप हमेशा के लिए अपने कमिट खो सकते हैं।
धन्यवाद, यह काम किया।
git शाखा new_branch_name
sha1
git checkout new_branch_name
// मेरी पुरानी शाखा में फाइलों में मेरी पुरानी जाँच देखी जा सकती है
इन कदमों का अनुसरण करें:
1: दर्ज करें:
git reflog show
यह सभी कमिट इतिहास को प्रदर्शित करेगा, आपको sha-1 का चयन करना होगा जिसमें अंतिम कमिट है जिसे आप वापस प्राप्त करना चाहते हैं
2: आपके द्वारा चयनित शा -1 आईडी के साथ एक शाखा का नाम बनाएँ : 8c87714
git branch your-branch-name 8c87714
यह मेरे लिए काम किया:
git fsck --full --no-reflogs --unreachable --lost-found
git show d6e883ff45be514397dcb641c5a914f40b938c86
git branch helpme 15e521b0f716269718bb4e4edc81442a6c11c139