full - integrate git bash with visual studio code




पिछली शाखा चेकआउट गिट करने का कोई तरीका है? (4)

आजकल ऐसा करने का सबसे आसान तरीका यह है:

git checkout -

... जो उपनाम है:

git checkout @{-1}

यदि आप इसके बारे में अधिक जानना चाहते हैं, तो मैंने इसके बारे में एक संपूर्ण लेख यहां लिखा है: गिट में पिछली शाखा चेकआउट करें

मैं गिट के लिए cd - के बराबर चाहता हूं। अगर मैं शाखा master हूं और मैं चेकआउट foo हूं, तो मुझे git checkout - जैसे कुछ टाइप करने में सक्षम होना पसंद है git checkout - master वापस जाने के लिए, और इसे फिर से टाइप करने में सक्षम होना चाहिए।

क्या ऐसा कुछ भी मौजूद है? क्या इसे लागू करना मुश्किल होगा?


जैसा कि @ कर्ल git checkout मैनुअल से बाहर और इंगित करता है:

एक विशेष मामले के रूप में, एन-वें अंतिम शाखा के लिए "@ {- N}" वाक्यविन्यास शाखा को चेक करता है (अलग करने के बजाए)। आप यह भी निर्दिष्ट कर सकते हैं - जो "@ {- 1}" का समानार्थी है।

तो दोनों git checkout - और git checkout @{-1} इस मामले में काम करेंगे

निकटतम मुझे विश्वास है कि git reflog moving from branch1 to branch2 का उपयोग कर रहा है और moving from branch1 to branch2 और git checkout branch1 moving from branch1 to branch2 नवीनतम moving from branch1 to branch2 विश्लेषण कर moving from branch1 to branch2


1.6.2 के लिए रिलीज नोट्स से

@{-1} उस अंतिम शाखा को संदर्भित करने का एक तरीका है जिस पर आप थे। ये है
न केवल ऑब्जेक्ट नाम की अपेक्षा की जाती है, लेकिन कहीं भी शाखा नाम की अपेक्षा की जाती है और कार्य करता है जैसे आपने शाखा का नाम टाइप किया है।
जैसे git branch --track mybranch @{-1} , git merge @{-1} , और
git rev-parse --symbolic-full-name @{-1} अपेक्षित के रूप में काम करेगा।

तथा

git checkout - git checkout @{-1} लिए एक शॉर्टेंड है।


git checkout @{-N} काम करता है जिसके द्वारा तंत्र को समझने के लिए पिछले उत्तरों में बस कुछ और विवरण जोड़ना। चेकआउट इतिहास का निरीक्षण करने के लिए यह रीफ्लॉग चलता है, इसलिए यदि आप अपने आप को कुछ ऐसा लागू करना चाहते हैं तो आपको checkout: तलाश में git reflog के आउटपुट को पार्स करने में सक्षम होना चाहिए checkout: लाइनें। आप गिट स्रोत sha1_name.c में कार्यान्वयन की जांच कर सकते हैं, विशेष रूप से function interpret_nth_prior_checkout फ़ंक्शन।





git