गिट स्टैश और गिट पुल


92

मैं Git में नया हूँ और मैं प्रतिबद्ध करने के लिए एगिट ग्रहण प्लगइन का उपयोग कर रहा हूँ।

मैंने कुछ फ़ाइलों को संशोधित किया और मैंने बदलावों को धराशायी कर दिया, फिर मैंने git pullकमांड लाइन में किया जिसने सभी नवीनतम कमिटों को खींच लिया। फिर मैंने Apply stashed changesइजीट से किया । अब इसने मेरे बदलावों को लागू कर दिया और स्टैक्ड फाइलों की अंतिम प्रतिबद्धताओं से जो बदलाव आए, वे बाहर हो गए। मुझे यकीन नहीं है कि इसने मुझसे मर्ज संघर्ष के बारे में क्यों नहीं पूछा और मेरे परिवर्तनों को खत्म कर दिया और पिछले कमिट परिवर्तनों को खो दिया।

उन परिवर्तनों को कैसे प्राप्त करें?


यह प्रशंसनीय नहीं है। स्टैस अप्लाय या तो अप्रमाणित परिवर्तन लाता है या मर्ज संघर्ष का कारण बनता है। मुझे लगता है कि आप कुछ का उल्लेख करना भूल गए। इसके अलावा, आप अपने कदमों को दोहरा सकते हैं, शायद आपका स्टाश अभी भी सूची में है, git stash listइसे दिखाने के लिए उपयोग करें।
कान

जवाबों:


215

जब आप कमांड लाइन से अपनी काम करने की कॉपी पर बदलाव करते हैं:

git stash 

यह आपके परिवर्तनों को रोक देगा और आपकी स्थिति रिपोर्ट को साफ़ कर देगा

git pull

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

git stash pop

यह तब तक कार्यशील प्रतिलिपि में वापस किए गए परिवर्तनों को लागू करेगा और जब तक आपके पास विरोधाभास नहीं है, तब तक परिवर्तनों को हटा दें। संघर्ष के मामले में, वे संघर्ष में रहेंगे ताकि आप जरूरत पड़ने पर शुरू कर सकें।

अगर आपको यह देखना है कि आपकी स्थिति क्या है

git stash list

@java_newbie, अगर आप इसे स्टैश और पुल नो के साथ करना चाहते हैं, तो कोई रास्ता नहीं है। लेकिन आप रिबास के साथ एक ही परिणाम प्राप्त कर सकते हैं। कमांड 'git rebase उत्पत्ति / <अपस्ट्रीम ब्रांच नाम>' को एक ही काम करना चाहिए।
यिल्माझुस्सिन

5
मुझे लगता है कि यह यह कर देगा:git stash && git pull && git stash pop
फेब्रिस कबोंगो

@yilmazhuseyin 'समान परिणाम' से आपका क्या तात्पर्य है यदि आप एक उपाख्यान दे सकते हैं तो क्या आप कर सकते हैं? क्या आपका मतलब है कि git rebase origin/masterजैसा परिणाम होगा वैसा ही परिणाम देगा git stash; git pull; git stash pop?
नेहेम

9
यदि git v2.9.0 या बाद के संस्करण का उपयोग कर रहे हैं, तो प्रयास करें git pull --rebase --autostashFYI करें
मोमोको

1
--autostashहमेशा काम करता है ? उदाहरण के लिए, यदि मेरे पास पहले से आंशिक रूप से गिट में मौजूद फाइलें हैं, तो क्या आपके पास अनट्रैक है?
qräbnö
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.