मैं मास्टर ब्रांच पर काम कर रहा था, कुछ बदलाव किए और फिर उन्हें स्टैक्ड कर दिया। अब, मेरा गुरु HEAD में है।
लेकिन अब, मैं इन परिवर्तनों को पुनः प्राप्त करना चाहता हूं लेकिन एक नई शाखा के लिए जो मास्टर शाखा के हेड संस्करण से शाखाएं।
मैं यह कैसे करु ?
मैं मास्टर ब्रांच पर काम कर रहा था, कुछ बदलाव किए और फिर उन्हें स्टैक्ड कर दिया। अब, मेरा गुरु HEAD में है।
लेकिन अब, मैं इन परिवर्तनों को पुनः प्राप्त करना चाहता हूं लेकिन एक नई शाखा के लिए जो मास्टर शाखा के हेड संस्करण से शाखाएं।
मैं यह कैसे करु ?
जवाबों:
क्या मानक प्रक्रिया काम नहीं कर रही है?
git stash savegit branch xxx HEADgit checkout xxxgit stash popछोटा:
git stashgit checkout -b xxxgit stash popgit stash save "description"पहले से वर्णित कमांड के साथ उपयोगी विवरण जोड़ रहा है ; और फिर मैं git clearशाखा (वास्तविक कार्य निर्देशिका को ट्रैश करने के लिए) और फिर git stash apply stash@{my_desired_stash}वांछित शाखा में ( git checkout <branch>स्पष्ट रूप से उस पर स्विच करने के बाद )। मुझे पता है कि यह एक वास्तविक समाधान नहीं है, लेकिन सबसे अच्छा है जो आप गिट के साथ कर सकते हैं ।
git stash dropहै एक बार मैंने इसके लिए हामी था
चूँकि आप पहले ही अपने परिवर्तनों को रोक चुके हैं, इसलिए आपको केवल एक-लाइनर की आवश्यकता है:
git stash branch <branchname> [<stash>]डॉक्स ( https://www.kernel.org/pub/software/scm/git/docs/git-stash.html ) से:
बनाता है और एक नई शाखा की जाँच करता है जिसका नाम < branchname > है, जिस पर शुरू से < stash > मूल रूप से बनाया गया था, < stash > में दर्ज परिवर्तनों को नए कार्यशील पेड़ और सूचकांक पर लागू करता है। यदि वह सफल होता है, और < स्टैश > फॉर्म स्टैश @ {< revision >} का संदर्भ है , तो यह < स्टैश > को ड्राप कर देता है । जब न < कसी को > दिया जाता है, तो नवीनतम लागू होता है।
यह उपयोगी है यदि आप जिस शाखा पर गिट स्टैश बचाते हैं वह काफी बदल गया है कि संघर्ष के कारण गिट स्टैश लागू विफल हो जाता है। चूँकि यह स्ट्रैट उस समय के शीर्ष पर लागू होता है, जो उस समय हिट था, जिस समय स्ट्रेट चलाया गया था, यह बिना किसी विरोध के मूल रूप से स्टैक्ड अवस्था को पुनर्स्थापित करता है।
यदि आपके कार्यक्षेत्र में कुछ बदलाव हैं और आप उन्हें एक नई शाखा में शामिल करना चाहते हैं, तो इस कमांड का उपयोग करें:
git stash branch branchName
यह कर देगा:
- एक नई शाखा
- इस शाखा में परिवर्तन करें
- और नवीनतम स्टैश हटाएं (जैसे: git स्टैश पॉप)