मैं जानता हूं कि एक पुरानी शाखा में वापस आने के तरीके कैसे होते हैं, लेकिन मैं एक टैग द्वारा तय की गई शाखा की स्थिति में वापस कैसे लौटूं? मैं कुछ इस तरह की कल्पना करता हूं:
git revert -bytag "Version 1.0 Revision 1.5"
क्या यह संभव है?
मैं जानता हूं कि एक पुरानी शाखा में वापस आने के तरीके कैसे होते हैं, लेकिन मैं एक टैग द्वारा तय की गई शाखा की स्थिति में वापस कैसे लौटूं? मैं कुछ इस तरह की कल्पना करता हूं:
git revert -bytag "Version 1.0 Revision 1.5"
क्या यह संभव है?
जवाबों:
Git टैग्स कमिट करने के लिए संकेत हैं। इसलिए आप उन्हें उसी तरह इस्तेमाल करते हैं जैसे आप HEAD, ब्रांच नेम या कमिटेड हैश करते हैं। आप किसी भी git कमांड के साथ टैग्स का उपयोग कर सकते हैं जो कमिटमेंट / रिवीजन तर्कों को स्वीकार करता है। आप इसे जिस git rev-parse tagname
ओर इंगित करते हैं उसे प्रदर्शित करने के लिए इसे आजमा सकते हैं ।
आपके मामले में आपके पास कम से कम ये दो विकल्प हैं:
विशिष्ट टैग के लिए वर्तमान शाखा को रीसेट करें:
git reset --hard tagname
आपको टैग की स्थिति में लाने के लिए शीर्ष पर फिर से उत्पन्न करें:
git revert tag
यदि आपके पास मर्ज हैं, तो यह कुछ विरोधाभासों का परिचय दे सकता है।
Git रीसेट का उपयोग करें :
git reset --hard "Version 1.0 Revision 1.5"
(यह मानते हुए कि निर्दिष्ट स्ट्रिंग टैग है)।
आप गिट चेकआउट का उपयोग कर सकते हैं।
मैंने स्वीकृत समाधान की कोशिश की, लेकिन एक त्रुटि मिली, warning: refname '<tagname>' is ambiguous'
लेकिन जैसा कि उत्तर में कहा गया है, टैग एक कमेंट के लिए एक पॉइंटर की तरह व्यवहार करते हैं, इसलिए जैसा कि आप कमिट हैश के साथ करेंगे, आप केवल टैग को चेकआउट कर सकते हैं। एकमात्र अंतर यह है कि आप इसे पहले से प्रस्तुत करते हैं tags/
:
git checkout tags/<tagname>