किसी अन्य Git टैग पर स्विच करें


180

मैं कैसे rspec बंडल के संस्करण संस्करण / टैग 1.1.4 की जांच करूं ?

cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'

जवाबों:


336

सामान्य के रूप में भंडार क्लोन:

git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle

फिर उस टैग को चेक करें जिसे आप चाहते हैं:

git checkout tags/1.1.4

यह एक 'अलग किए गए राज्य' में टैग की जाँच करेगा। इस स्थिति में, "आप चारों ओर देख सकते हैं, प्रायोगिक परिवर्तन कर सकते हैं और उन्हें प्रतिबद्ध कर सकते हैं, और [किसी अन्य शाखा के प्रदर्शन को प्रभावित करके बिना किसी शाखा को प्रभावित किए] उन लोगों को छोड़ सकते हैं"।

किए गए किसी भी परिवर्तन को बनाए रखने के लिए, उन्हें एक नई शाखा में स्थानांतरित करें:

git checkout -b 1.1.4-jspooner

आप उपयोग करके मास्टर शाखा में वापस आ सकते हैं:

git checkout master

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

git checkout 1.1.4

लेकिन जैसा कि एक टिप्पणी में उल्लेख किया गया था, यदि आपके पास उसी नाम से एक शाखा है, तो इससे आपको यह चेतावनी मिल जाएगी कि रेफनाम अस्पष्ट है और डिफ़ॉल्ट रूप से शाखा की जाँच कर रहा है:

warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'

शॉर्टहैंड को सुरक्षित रूप से उपयोग किया जा सकता है यदि रिपॉजिटरी शाखाओं और टैग के बीच नाम साझा नहीं करता है।


78
ड्राइवबी दर्शकों के लिए, यह उत्तर अस्पष्ट है। यदि एक शाखा और एक टैग कहा जाता है 1.1.4। Git शाखा की जाँच करेगा, टैग नहीं। टैग को स्पष्ट रूप से git checkout tags/1.1.4
जांचने के

2
हम 'ट्रंक' में वापस कैसे आते हैं?
विनय डब्ल्यू

3
@VinayWadhwa गिट चेकआउट मास्टर
ABCD.ca

1
और टैग देखने के लिए, बस जारी करें git tag
ACK_stoverflow

8

के रूप में Git v2.23.0 (अगस्त 2019), git switchसे अधिक पसंद किया जाता है git checkoutजब आप बस शाखाओं / टैग स्विच कर रहे हैं। मुझे लग रहा है कि उन्होंने ऐसा किया था क्योंकि git checkoutदो कार्य थे: शाखाओं को स्विच करने और फ़ाइलों को पुनर्स्थापित करने के लिए। इसलिए v2.23.0 में, उन्होंने दो नए कमांड जोड़े git switch, और git restore, और उन चिंताओं को अलग करने के लिए। मैं भविष्य में किसी बिंदु पर भविष्यवाणी git checkoutकरूंगा , पदावनत हो जाऊंगा।

सामान्य शाखा में जाने के लिए, उपयोग करें git switch <branch-name>। एकल कमिट और टैग सहित कमिट-जैसी ऑब्जेक्ट पर स्विच करने के लिए git switch --detach <commitish>, <commitish>टैग नाम या कमिट नंबर कहां है।

--detachविकल्प बलों आप को पहचान करने के लिए है कि आप के मोड में होने पर "निरीक्षण और discardable प्रयोगों" । आपके द्वारा स्विच किए जा रहे कमिट से एक नई शाखा बनाने के लिए, उपयोग करें git switch -c <new-branch> <start-point>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.