जवाबों:
लगता है कि आप सभी की जरूरत है निम्नलिखित है:
git stash
git checkout branch123
git stash apply
फिर आपको मास्टर शाखा को छूने के बिना अपनी शाखा पर वापस होना चाहिए।
stash
स्थानीय संशोधनों को दूर करता है, फिर stash apply
उन्हें वापस लाता है।
git reset --hard HEAD
और आप अपने मास्टर ब्रांच में आपके द्वारा किए गए अंतिम कमिटमेंट के लिए वापस आ गए हैं।
स्वीकृत उत्तर सबसे गहन है, लेकिन एक विशेष मामला है जहां आप सरल कर सकते हैं। यदि आपके द्वारा काम की निर्देशिका में संशोधित की गई फाइलें दोनों में समान हैं master
और branch123
आप बस कर सकते हैं
git checkout branch123
डिफ़ॉल्ट कार्य करने की कोई ज़रूरत नहीं है, क्योंकि checkout
आपकी कार्यशील निर्देशिका में संशोधित फ़ाइलों को अधिलेखित नहीं करना है, इसलिए आपको कुछ भी नहीं खोना होगा। (यह वास्तव में Cascabel द्वारा टिप्पणियों में पहले उल्लेख किया गया था)
जैसा कि अन्य लोगों ने टिप्पणियों में उल्लेख किया है, अगर branch123
अभी तक मौजूद नहीं है, तो आप कर सकते हैं
git checkout -b branch123
मुझे यहां जो मिला, उसके आधार पर ।
git checkout -b newbranch
master
और branch123
। मेरा संपादित उत्तर देखें।
git stash
आपको क्या चाहिए
एक पूर्ण विवरण Git-Tools-Stashing में पाया जा सकता है
जैसा कि एक नई शाखा बनाना संभव है, लेकिन मौजूदा शाखा की जांच करना संभव नहीं है, जबकि फाइलों की जांच की जा रही है, मुझे काम करने के लिए एक अस्थायी शाखा का उपयोग करते हुए निम्नलिखित चाल मिली:
यह परिदृश्य कम से कम VS 2015 Git प्लगइन के साथ काम करता है, लेकिन किसी भी git टूल के साथ सबसे अधिक संभावना काम करेगा।
संपादित करें: मुझे पता चला है कि आपको मर्ज करने से पहले अस्थायी शाखा का रिबास (गिट रिबास - सेंटो) करना होगा। अन्यथा मास्टर में परिवर्तन मर्ज में शामिल किया जाएगा। एक अतिरिक्त चरण 3.5 ऊपर। आगे देखें रिबास के बारे में यहाँ: https://git-scm.com/book/en/v2/Git-Branching-Rebasing