2012-08-27 11 views
15

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

क्या मेरे द्वारा किए गए परिवर्तनों को पुनर्प्राप्त करने का कोई तरीका है? वास्तव में इस संबंध में किसी भी मदद की सराहना करेंगे।

+1

यह देखने के लिए कि आपके पास कौन सी स्टैश उपलब्ध है, "गिट स्टैश सूची" आज़माएं। – JamesOR

उत्तर

7

stashes के माध्यम से

git stash list 

या

gitk --all 

देखने योग्य होना चाहिए भी git stash ट्रैक न किए गए फ़ाइलों छिपाया नहीं है। यदि आपने ऐसा किया और बाद में किसी अन्य शाखा में git checkout --force को किसी अन्य शाखा में ट्रैक किए गए फ़ाइलों के साथ अनचाहे फ़ाइलों को ओवरराइट करने के लिए किया, तो आपने उस सामग्री को खो दिया है।

git stash -u 

यह इस प्रकार के नुकसान को रोक देगा।

+0

धन्यवाद। इससे मदद मिली। – nids

10

हमें भी एक ही समस्या का सामना करना पड़ा। तो, यहाँ हम कैसे खो परिवर्तन बरामद है:

  1. reflog जानकारी संघीय रूप से प्रबंधित करने के लिए शाखा बी

    Git चेकआउट बी पर वापस जाएँ

  2. उपयोग git reflog विकल्प।

    Git reflog --all

    आउटपुट:

    f332d5c refs/गुप्त कोष @ {0}: WIP बी पर: aa1d0c1 xyz संदेश प्रतिबद्ध

  3. अब, git checkout A

  4. का उपयोग कर शाखा ए पर स्विच करें
  5. अंत में, आपके खोए गए परिवर्तनों को पुनर्प्राप्त करने के लिए।

    git छिपाने की जगह f332d5c

+1

प्रतिबद्धता तक पहुंच थी, लेकिन मेरी छाप खो दी। मेरे काम 'गिट स्टैश लागू' पुनर्प्राप्त। धन्यवाद! – Mitkins

+0

@ मितकिन्स बहुत बहुत धन्यवाद, मैंने इसका सामना भी किया है और मेरे लिए 'गिट स्टैश लागू' काम करता है! – AnnabellChan

0

कुछ इसी तरह मुझे क्या हुआ लागू होते हैं। संक्षेप में, यह सुनिश्चित करने के लिए जांचें कि आपने नई फाइलों को दूसरी शाखा में गलती से धक्का नहीं दिया है।

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