2012-05-31 11 views
7

मैं git और GitHub के लिए नया हूँ और मैं कुछ परेशानी है।पूर्ववत करें "रोल वापस इस के लिए प्रतिबद्ध"

मैं अपने पास एक छोटी परियोजना का प्रबंधन करने के लिए github for windows का उपयोग कर रहा हूं। मुझे लगता है कि मैंने हाल ही में अपने कोड में कुछ बदलाव खो दिए हैं। मैंने जो किया था:

  1. कुछ फ़ाइलों को बदल दिया।
  2. गलती से परिवर्तन के लिए प्रतिबद्ध।
  3. वापस लाया गया प्रतिबद्ध।
  4. तो मैं "रोल वापस इस प्रतिबद्ध करने के लिए" दबाया।

अब सभी बदलाव चलाए गए हैं, जिनमें कुछ नई फ़ाइलें शामिल हैं। क्या मैं उन्हें बचा सकता हूँ? मैंने गिट (कमांड लाइन) भी स्थापित किया है, इसलिए मैं किसी भी कमांड को निष्पादित कर सकता हूं जो आपको लगता है कि मदद करेगा।

उत्तर

7

गिट के बारे में अच्छी चीजों में से एक यह है कि जब तक आप कुछ अजीब नहीं कर रहे हैं, तब तक कुछ भी खोना मुश्किल है।

आपको जो बिंदु करना है वह उस बिंदु को ढूंढना है जिस पर आप बनना चाहते हैं।

मान लें कि आप गिट लॉग की जांच करते हैं और यह निर्धारित करते हैं कि हैश 01 डीबीसी 4 ... वह समय है जिस पर आप वापस जाना चाहते हैं। ऐसा करने के लिए, बस कार्य करें:

git reset --hard 01dbc4 

ध्यान दें कि अगर आप अप्रतिबद्ध परिवर्तन है, तो आप उन्हें पहले छिपाया जा आवश्यकता होगी।

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

ध्यान दें कि भले ही आप जब Git ऊपर --hard रीसेट का उपयोग कर की तरह एक शाखा का सूचक चारों ओर ले जाने और अनाथ बाद में करता है, तो आप उन्हें git reflog की जांच और उन्हें reseting, या एक शाखा है कि उन्हें अंक बनाकर वापस मिलता है।

+0

बहुत बहुत धन्यवाद! यह पूरी तरह से काम किया! – nautilus7

+0

मेरे मामले में गिट लॉग नष्ट नहीं हो रहा था। – Bulwersator

5

ध्यान दें कि अब (मार्च 2013), विंडोज के लिए GitHub के साथ, आप एक किसी भी Git आदेश लिखे बिना प्रतिबद्ध पूर्ववत कर सकते हैं:

देखें "Undo Button in GitHub for Windows"

हम पूर्ववत जोड़ दिया है को छोड़ देता है के लिए समर्थन, करता है, रोलबैक, और एक बनाए गए:

Undo button

+0

क्या आप 10 मई, 2014 को विंडोज के लिए गिटहब के लिए चरण-दर-चरण टेक्स्ट निर्देश प्रदान कर सकते हैं? जो किसी दिए गए प्रतिबद्धता पर वापस आ जाता है? धन्यवाद – Dave

+0

@Dave आप मतलब है, वहाँ अब एक "त्यागने परिवर्तन" प्रविष्टि के साथ एक प्रविष्टि (जैसा कि चित्र में दिखाया गया है) पर एक प्रासंगिक मेनू है? – VonC

+0

यह स्पष्ट नहीं है कि 'परिवर्तनों को त्यागें' अब से किए गए सभी परिवर्तनों को छोड़ दें, या केवल उस संशोधन में किए गए परिवर्तनों को छोड़ दें। यदि पूर्व का इरादा है, तो इसे 'रोलबैक' कहा जाना चाहिए या 'इस संशोधन में वापस आने वाले सभी परिवर्तनों को छोड़ देना चाहिए, या कुछ ऐसे।'कोर्स, एक साल बाद, शायद यह तय हो गया है? – Dave

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