Git के साथ एक विशिष्ट टैग डाउनलोड करें


1941

मैं यह पता लगाने की कोशिश कर रहा हूं कि मैं एक जीआईटी भंडार के विशेष टैग को कैसे डाउनलोड कर सकता हूं - यह वर्तमान संस्करण के पीछे एक संस्करण है।

मैंने देखा कि गिट वेब पेज पर पिछले संस्करण के लिए एक टैग था, जिसमें कुछ लंबी हेक्स संख्या का ऑब्जेक्ट नाम था।

लेकिन Tagged release 1.1.5साइट के अनुसार संस्करण का नाम " " है।

मैंने इस तरह से एक कमांड की कोशिश की (नाम बदलकर):

git clone http://git.abc.net/git/abc.git my_abc

और मुझे कुछ मिला - एक निर्देशिका, उपनिर्देशिका का एक गुच्छा, आदि।

यदि यह संपूर्ण रिपॉजिटरी है, तो मैं उस संस्करण को कैसे प्राप्त कर सकता हूं जिसे मैं चाह रहा हूं? यदि नहीं, तो मैं उस विशेष संस्करण को कैसे डाउनलोड करूं?


11
मैं एक पूरी तरह से अलग रेपो पर फिर उत्पादन में विकसित होता हूं, इसलिए मेरे उत्पादन ने किसी भी टैग को नहीं जाना जब मैंने गिट चेकआउट का उपयोग करने की कोशिश की। समाधान "गिट पुल - टैग्स" का उपयोग करना था और फिर गिट चेकआउट का उपयोग करना था।
एंटरप्राइज आर्किटेक्ट

11
"git fetch --tags" भी काम करता है
John Erck

16
पूरे रिपॉजिटरी को क्लोन करने से बचने के लिए फिर किसी टैग पर स्विच करने से आप सीधे ए clone -b "Tagged release 1.1.5" http://git.abc.net/git/abs.git my_abc। यह केवल तभी काम करेगा जब आपके पास पाठ्यक्रम का एक ही नाम नहीं होगा (आपकी कार्यप्रणाली के आधार पर, ऐसा कभी नहीं हो सकता है)।
RedGlyph

3
@RedGlyph धन्यवाद मैं कोशिश करूँगा। वरना हम ऐसा कर सकते हैं। git checkout -b new-branch tag-name। अब अपनी नई शाखा को क्लोन करें। जब हम चाहते हैं कि हम नई शाखा को हटा सकते हैं।
कालिदासन

जवाबों:


2871
$ git clone

आपको संपूर्ण भंडार देगा।

क्लोन के बाद, आप टैग को $ git tag -lएक विशिष्ट टैग के साथ सूचीबद्ध कर सकते हैं :

$ git checkout tags/<tag_name>

इससे भी बेहतर, चेकआउट करें और एक शाखा बनाएं (अन्यथा आप टैग की संशोधन संख्या के नाम पर एक शाखा पर होंगे):

$ git checkout tags/<tag_name> -b <branch_name>

15
हां। git इस संबंध में तोड़फोड़ करने के लिए अलग है। एक svn टैग मूल रूप से फ़ाइलों को एक नए फ़ोल्डर में कॉपी करता है, इसलिए आप फ़ाइलों का एक विशिष्ट गुच्छा svn चेकआउट कर सकते हैं, जबकि गिट टैग विशिष्ट संशोधन के लिए बस संकेत हैं।
dbr

5
यदि आपके पास एक शाखा और एक टैग है जो एक ही नाम है? यदि आप बस "git चेकआउट <name>" कहते हैं, तो यह "चेतावनी: Refname '<<name>' अस्पष्ट है। शाखा में स्विच किया गया '<name>'" - आप इसे टैग पर स्विच करने के लिए कैसे कहते हैं?
MatrixFrog

54
चेकआउट करते समय और जैसा कि डेरेक ने उल्लेख किया है, रेपो एक "अलग सिर" स्थिति में चला जाता है। इसके बजाय, -bएक नई शाखा बनाने के लिए और एक शाखा का नाम निर्दिष्ट करने के लिए बताए जाने वाले झंडे को जोड़ें :git checkout <tag_name> -b <branch_name>
नरक '17

22
@ रीलैटैन आपको केवल तभी करना चाहिए जब आप वास्तव में एक शाखा बनाना चाहते हैं, लेकिन अधिकांश समय आप शायद नहीं करते हैं। "अलग सिर" राज्य में चलने से आपको चोट नहीं पहुंचेगी, और अगर आप सिर्फ कुछ गिट इतिहास की जांच करना चाहते हैं, तो आप जो चाहते हैं, वह ठीक है।
मशीनघाट

4
गिट संस्करण 1.8.3.5और नए में, --branch <tag ref>आपको रिपॉजिटरी डाउनलोड करने की अनुमति अपने <tag ref>रेपो हेड के रूप में शुरू करनी चाहिए ; के साथ संयुक्त --depth 1एक उथले टैग चेकआउट करेंगे। देखें stackoverflow.com/a/21699307/1695680
ThorSummoner

409
git clone --branch my_abc http://git.abc.net/git/abc.git

रेपो को क्लोन करेगा और आपको उस टैग पर छोड़ देगा जिसमें आप रुचि रखते हैं।

गिट क्लोन राज्यों के 1.8.0 के लिए प्रलेखन ।

- क्रैंक टैग भी ले सकते हैं और परिणामस्वरूप भंडार में उस प्रतिबद्ध पर HEAD का पता लगा सकते हैं।


7
टैग के लिए यह (कम से कम अब) काम करता है, हालांकि आप एक अलग राज्य में समाप्त हो जाते हैं।
mxcl

72
FYI करें: --depth 1किसी भी गैर-वर्तमान आवागमन को डाउनलोड करने से बचने के लिए भी निर्दिष्ट करें ।
एक्यूमेनस

4
यह वास्तव में टैग के साथ काम नहीं करता है । केवल शाखाएँ। संपादित करें: ऐसा लगता है कि केवल नए संस्करण git का समर्थन करता है।
lzap

हम दो या अधिक टैग्स के उथले क्लोन को करने के लिए .it / config (या किसी तरह इसे कॉन्फ़िगर कर सकते हैं) को संपादित कर सकते हैं, अगर जरूरत पड़े तो उथले क्लोन को पूर्ण क्लोन में अपग्रेड करें, आदि
सैम वाटकिंस

आप टैग के साथ अपनी इच्छित शाखा भी निर्दिष्ट कर सकते हैं। जैसे git clone --branch my_abc http://git.abc.net/git/abc.git -b qualityगुणवत्ता उस शाखा का नाम है जिसे हम btw चाहते हैं।
खतरनाकदिनीली

180

तैनाती के लिए केवल दिए गए टैग की जाँच के लिए, मैं उदाहरण के लिए उपयोग करता हूँ:

git clone -b 'v2.0' --single-branch --depth 1 https://github.com/git/git.git

यह किसी दूरस्थ रिपॉजिटरी से कोड की जांच करने का सबसे तेज़ तरीका प्रतीत होता है यदि किसी के पास एक पूर्ण रिपॉजिटरी के बजाय सबसे हाल के कोड में ही रुचि है। इस तरह, यह 'svn co' कमांड जैसा दिखता है।

नोट: प्रति गिट मैनुअल के अनुसार , --depthझंडा गुजरना --single-branchडिफ़ॉल्ट रूप से होता है।

--depth

निर्दिष्ट संख्या में आने वाले इतिहास के साथ उथला क्लोन बनाएं। इम्प्लाइज - सिंगल्स-ब्रांच जब तक -नो-सिंगल-ब्रांच को सभी शाखाओं के सुझावों के पास हिस्ट्री लाने के लिए नहीं दिया जाता है। यदि आप सबमोडुल्स को धीरे-धीरे क्लोन करना चाहते हैं, तो भी --shallow-submodules पास करें।


10
इस जटिल पर विश्वास नहीं कर सकते। लगता है कि कोई भी अपने कोड का उपयोग दूसरों द्वारा किए जाने की उम्मीद नहीं करता है।
बेन

9
@ फिर, यह वास्तव में सबसे सरल समाधान है (एक आदेश की आवश्यकता है)
एलिरन मलका

3
@ क्यों यह जटिल है? यह कुछ खास फीचर्स के साथ है जो आप डिफॉल्ट से अलग करना चाहते हैं। बेशक आपको इसे निर्दिष्ट करने की आवश्यकता है। सामान्य समाधान एक वितरित वीकेएस में पूरे रेपो की जांच करना होगा ।
एरिकबवर्क

9
@ सही है। गिट जटिल है और लियस द्वारा पहले लिखा गया था और वह केवल एक है जो "वास्तव में" समझता है कि यह कैसे काम करता है। xkcd.com/1597
रयाननर्ड

11
--depth nतात्पर्य है --single-branch। आप दोनों की जरूरत नहीं है।
नियाज

98

मैं एक गिट विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि यह काम करना चाहिए:

git clone http://git.abc.net/git/abc.git
cd abc
git checkout my_abc 

या

git clone http://git.abc.net/git/abc.git
cd abc
git checkout -b new_branch my_abc

दूसरी भिन्नता टैग के आधार पर एक नई शाखा स्थापित करती है, जो आपको 'अलग किए गए हेड' से बचने की सुविधा देती है। (गिट-चेकआउट मैनुअल)

हर गिट रेपो में संपूर्ण संशोधन इतिहास होता है, इसलिए रेपो का क्लोनिंग आपको नवीनतम प्रतिबद्ध तक पहुंच प्रदान करता है, साथ ही वह सब कुछ जो पहले आया था, जिसमें वह टैग भी शामिल है जिसकी आपको तलाश है।


4
धन्यवाद। git checkout -b b1.5.0 v1.5.0जब मुझे सफलतापूर्वक Github पेज पर धकेलने के लिए 'gh-pages' शाखा के भीतर एक संस्करण की जाँच करते समय उपयोग करने की आवश्यकता होती है । इस Gist को मैंने लिखा है कि इससे दूसरों को मदद मिल सकती है: शाखा / टैग / सबमॉडल्स
क्रिस जैकब

4
मैं (टर्मिनल में चिपकाने उदाहरण के लिए) जब से तुम होगा नहीं लगता कि यह पूरी तरह से सही है cdमें abc/पहले इससे पहले कि आप एक शाखा चेकआउट कर सकते हैं
स्टीवन लू

@StevenLu आप निश्चित रूप से सही हैं। मैं कट-एंड-पेस्ट के बजाय अवधारणाओं के लिए जा रहा था, लेकिन यह यथासंभव सटीक हो सकता है। मैंने जोड़ा है cd

81

आप दिए गए टैग या कमिट आईडी के लिए टार बॉल डाउनलोड करने के लिए git आर्काइव का उपयोग कर सकते हैं:

git archive --format=tar --remote=[hostname]:[path to repo] [tag name] > tagged_version.tar

आप किसी टैग का ज़िप संग्रह भी निर्यात कर सकते हैं।

  1. सूची टैग:

    git tag
    
    0.0.1
    0.1.0
    
  2. एक टैग निर्यात करें:

    git archive -o /tmp/my-repo-0.1.0.zip --prefix=my-repo-0.1.0/ 0.1.0
    
  3. टिप्पणियाँ:

    • आपको प्रारूप निर्दिष्ट करने की आवश्यकता नहीं है। इसे आउटपुट फ़ाइल नाम से उठाया जाएगा।
    • उपसर्ग को निर्दिष्ट करने से आपका कोड एक निर्देशिका में निर्यात होगा (यदि आप एक अनुगामी स्लैश शामिल करते हैं)।

3
यह कमांड
सबमॉड्यूल्स के

3
लेकिन git आर्काइव भी संस्करण नियंत्रण को हटा देता है, इसलिए आप अगले टैग में अपग्रेड करने के लिए एक और git चेकआउट नहीं कर सकते।
इडबरी

9
हां, आप संस्करण नियंत्रण खो देते हैं, लेकिन गिट क्लोन की तुलना में समय संग्रह संग्रह बचाता है ABSOLUTELY UNBELIEVABLE! +1
मार्क एचएच

यह SO CLOSE है जो मैं चाहता हूं, सिवाय इसके कि git archiveमुझसे एक पासवर्ड के लिए पूछ रहा है जब मैं चाहता हूं कि सभी एक सार्वजनिक प्रतिनिधि से डाउनलोड करें। मैं इसे ssh के बजाय http का उपयोग कैसे कर सकता हूं?
लुटेरे

1
यह त्रुटियों fatal: Operation not supported by protocol.और Unexpected end of command streamत्रुटियों के साथ विफल हो जाता है । वैकल्पिक रूप से, यह fatal: The remote end hung up unexpectedlyत्रुटि भी वापस कर सकता है ।
एक्यूमेनस

52

--single-branchस्विच का उपयोग करें (Git 1.7.10 के रूप में उपलब्ध) । वाक्य रचना है:

git clone -b <tag_name> --single-branch <repo_url> [<dest_dir>] 

उदाहरण के लिए:

git clone -b 'v1.9.5' --single-branch https://github.com/git/git.git git-1.9.5

लाभ: गिट वस्तुओं को प्राप्त करेगा और (केवल) निर्दिष्ट शाखा / टैग के लिए डेल्टा को हल करने की आवश्यकता है - फाइलों की सटीक समान मात्रा की जांच करते हुए! स्रोत रिपॉजिटरी के आधार पर, यह आपको बहुत सारे डिस्क स्थान बचाएगा। (इसके अलावा, यह बहुत जल्दी हो जाएगा।)


3
जिसने भी इस उत्तर को गलत समझा / उतारा: कृपया नीचे दिए गए संक्षिप्त विवरण के साथ एक टिप्पणी भी छोड़ दें। (बस पूछ रहा हूं, क्योंकि मैं थोड़ा भ्रमित हूं। क्योंकि, afaik, यह दी गई समस्या का सबसे अच्छा समाधान है। और यदि आप ऐसा नहीं सोचते हैं, तो मैं जानना चाहूंगा कि क्यों।) बहुत धन्यवाद।
eyecatchUp

5
डाउनवोट्स की बहुत अधिक समझ बनाने की कोशिश न करें .. आपका उत्तर बहुत अच्छा है, उनके डाउनवोट होने की संभावना नहीं है .. जो कि SOF पर जीवन है ..
javadba

2.22.0.windows.1
महेश

29

पहले उस विशिष्ट रिमोट में सभी टैग लाएँ

git fetch <remote> 'refs/tags/*:refs/tags/*'

या बस टाइप करें

git fetch <remote>

फिर उपलब्ध टैग के लिए जाँच करें

git tag -l

फिर नीचे दिए गए कमांड का उपयोग करके उस विशिष्ट टैग पर जाएं

git checkout tags/<tag_name>

आशा है कि यह आपकी मदद करेगा!


useगित टैग का उपयोग क्यों करें-यह ´गित टैग´ के समान होना चाहिए?
सर्प

1
@serup; उपलब्ध git tagटैग को git tag -lसूचीबद्ध करते समय एक टैग जोड़ देगा
Joost Döbken

18

यदि आपके टैग लिनक्स sortकमांड का उपयोग करके छांटे गए हैं, तो इसका उपयोग करें:

git tag | sort -n | tail -1

जैसे। अगर git tagरिटर्न:

v1.0.1
v1.0.2
v1.0.5
v1.0.4

git tag | sort -n | tail -1 उत्पादन होगा:

v1.0.5

git tag | sort -n | tail -2 | head -1 उत्पादन होगा:

v1.0.4

(क्योंकि आपने दूसरा सबसे हाल का टैग मांगा था)

टैग की जाँच करने के लिए, पहले रेपो को क्लोन करें, फिर टाइप करें:

git checkout v1.0.4

.. और आपको जो भी टैग चाहिए।


25
जब तक आप v1.0.10 तक नहीं पहुंचते हैं, और तब खराब चीजें होती हैं :)
लॉरेंट ग्रैगोइरे

10
आपके टैगों को कालानुक्रमिक रूप से क्रमबद्ध किया गया है:git for-each-ref --sort='*authordate' --format='%(tag)' refs/tags
बॉब जी

वन-लाइनर स्वचालित रूप से नवीनतम संस्करण की जांच करने के लिए,git checkout `git tag | sort -n | tail -1`
weiji14

आप sort -Vइसके बजाय उपयोग करना चाह सकते हैं sort -n। पूर्व सही ढंग से संस्करणों को संभालता है, जो आवश्यक रूप से संख्यात्मक नहीं हैं, उदाहरण के लिए "1.2.3"। यह भी समझता है कि "0.4.10" "0.4.1" के बाद जाता है न कि "0.4.2" के बाद जो -nआपको देगा।
माटूस मिस्सोर्नी

16

मैंने git चेकआउट प्रलेखन की जाँच की , इसमें एक दिलचस्प बात सामने आई:

git checkout -b <new_branch_name> <start_point>, जहाँ <start_point> एक प्रतिबद्ध का नाम है, जिस पर नई शाखा शुरू करनी है; सिर के लिए दोष

तो हम टैग नाम का उल्लेख कर सकते हैं (जैसा कि टैग कुछ भी नहीं है लेकिन एक प्रतिबद्ध का नाम है), जैसा कि कहें:

>> git checkout -b 1.0.2_branch 1.0.2
बाद में, कुछ फाइलों को संशोधित करें
>> git push --tags

पुनश्च: Git में, आप सीधे एक टैग को अपडेट नहीं कर सकते हैं (क्योंकि टैग एक कमिट के लिए एक लेबल है), आपको एक शाखा के रूप में एक ही टैग को चेकआउट करने की आवश्यकता है और फिर इसके लिए एक अलग टैग बनाएं।


1
या यदि आपको कोई बदलाव करने की उम्मीद नहीं है और आप बस उस टैग पर दिख रहे कोड को देखना चाहते हैं, तो आप शाखा बनाए बिना टैग को चेक कर सकते हैं। आपको यह समझाते हुए कुछ पाठ मिलेंगे कि आप "अलग सिर" स्थिति में हैं, और यदि आप चाहते हैं तो आप हमेशा शाखा बना सकते हैं।
मैट्रिक्स

16
git fetch <gitserver> <remotetag>:<localtag>

===================================

मैंने बस यही किया। पहले मैंने सुनिश्चित किया कि मुझे टैग नाम की वर्तनी पता है।

git ls-remote --tags gitserver; : or origin, whatever your remote is called

इसने मुझे चुनने के लिए अपने git सर्वर पर टैग की एक सूची दी। मूल पोस्टर पहले से ही उसके टैग का नाम जानता था इसलिए यह कदम सभी के लिए आवश्यक नहीं है। आउटपुट इस तरह दिखता था, हालांकि असली सूची लंबी थी।

8acb6864d10caa9baf25cc1e4857371efb01f7cd    refs/tags/v5.2.2.2
f4ba9d79e3d760f1990c2117187b5010e92e1ea2    refs/tags/v5.2.3.1
8dd05466201b51fcaf4ca85897347d82fcb29518    refs/tags/Fix_109
9b5087090d9077c10ba22d99d5ce90d8a45c50a3    refs/tags/Fix_110

मैंने वह टैग चुना जो मुझे चाहिए था और उसे प्राप्त किया और कुछ भी नहीं इस प्रकार है।

git fetch gitserver Fix_110

मैंने तब अपने स्थानीय मशीन पर यह टैग लगाया, अपना टैग उसी नाम से दिया।

git tag Fix_110 FETCH_HEAD

मैं दूरस्थ रिपॉजिटरी को क्लोन नहीं करना चाहता था जैसा कि अन्य लोगों ने करने का सुझाव दिया है, क्योंकि मैं जिस प्रोजेक्ट पर काम कर रहा हूं वह बड़ा है और मैं एक अच्छे स्वच्छ वातावरण में विकास करना चाहता हूं। मुझे लगता है कि यह मूल सवालों के करीब है "मैं यह पता लगाने की कोशिश कर रहा हूं कि समाधान से एक PARTICULAR TAG कैसे डाउनलोड होता है" जो पूरे रिपॉजिटरी को क्लोन करने का सुझाव देता है। मैं यह नहीं देखता कि किसी के पास विंडोज NT और विंडोज 8.1 स्रोत कोड की एक प्रति क्यों होनी चाहिए यदि वे डॉस 0.1 स्रोत कोड (उदाहरण के लिए) को देखना चाहते हैं।

मैं भी CHECKOUT का उपयोग नहीं करना चाहता था क्योंकि अन्य लोगों ने सुझाव दिया है। मैंने एक शाखा की जाँच की थी और उसे प्रभावित नहीं करना चाहता था। मेरा इरादा उस सॉफ़्टवेयर को लाना था जो मैं चाहता था ताकि मैं कुछ चुन सकूं और उसे अपने विकास में जोड़ सकूं।

संभवतः टैग की गई प्रति की प्रति के बजाय टैग को लाने का एक तरीका है। मुझे खुद को कमिटेड टैग करना था। संपादित करें: आह हाँ, मुझे यह अब मिल गया है।

git fetch gitserver Fix_110:Fix_110

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

git fetch gitserver --dry-run Fix_110:Fix_110

जोड़ा गया -dry-run विकल्प से आप कमांड को क्या करना चाहते हैं, इस पर एक नज़र डाल सकते हैं, यदि आप इसकी जाँच करना चाहते हैं कि आप क्या चाहते हैं। तो मैं एक साधारण लगता है

git fetch gitserver remotetag:localtag

असली जवाब है।

=

टैग के बारे में एक अलग नोट ... जब मैं कुछ नया शुरू करता हूं तो मैं आमतौर पर गिट इनिट के बाद खाली रिपॉजिटरी को टैग करता हूं

git rebase -i XXXXX 

एक कमिट की आवश्यकता होती है, और यह सवाल उठता है कि "आप उन परिवर्तनों को कैसे दोहराते हैं जिनमें आपका पहला सॉफ़्टवेयर परिवर्तन शामिल है?" इसलिए जब मैं काम करना शुरू करता हूं तो मैं करता हूं

git init
touch .gitignore
[then add it and commit it, and finally]
git tag EMPTY

यानी मेरे पहले वास्तविक परिवर्तन से पहले एक कमिट बनाएं और बाद में उपयोग करें

git rebase -i EMPTY 

अगर मैं पहले बदलाव सहित अपने सभी कामों को फिर से करना चाहता हूँ ।


8

पीटर जॉनसन के जवाब से दूर, मैंने अपने लिए एक अच्छा सा उर्फ ​​बनाया:

alias gcolt="git checkout $(git tag | sort -V | tail -1)"

उर्फ 'गिट चेकआउट नवीनतम टैग'।

यह जीएनयू सॉर्ट के प्रकार पर निर्भर करता है, जो उचित रूप से उन स्थितियों को संभालता है जैसे एक लॉगर ने बताया है:

v1.0.1
...
v1.0.9
v1.0.10

यदि आप एक मैक पर हैं, brew install coreutilsऔर उसके बजाय gsort को कॉल करें।



5

टैग की जाँच कर रहा है

यदि आप उन फ़ाइलों के संस्करणों को देखना चाहते हैं जिन्हें एक टैग इंगित कर रहा है, तो आप एक git चेकआउट कर सकते हैं, हालांकि यह "रिपॉजिटेड HEAD" स्थिति में आपकी रिपॉजिटरी डालता है, जिसके कुछ दुष्प्रभाव हैं:

$ git checkout 2.0.0
Note: checking out '2.0.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 99ada87... Merge pull request #89 from schacon/appendix-final

$ git checkout 2.0-beta-0.1
Previous HEAD position was 99ada87... Merge pull request #89 from schacon/appendix-final
HEAD is now at df3f601... add atlas.json and cover image

"अलग की गई स्थिति" में, यदि आप परिवर्तन करते हैं और फिर एक कमिट बनाते हैं, तो टैग वही रहेगा, लेकिन आपकी नई कमिट किसी भी शाखा से संबंधित नहीं होगी और सटीक कम हैश को छोड़कर, अगम्य होगी। इस प्रकार, यदि आपको बदलाव करने की आवश्यकता है - कहिए कि आप पुराने संस्करण पर बग को ठीक कर रहे हैं, उदाहरण के लिए- आप आम तौर पर एक शाखा बनाना चाहेंगे:

$ git checkout -b version2 v2.0.0
Switched to a new branch 'version2'

यदि आप ऐसा करते हैं और कमिट करते हैं, तो आपका संस्करण 2 शाखा आपके v2.0.0 टैग से थोड़ा अलग होगा क्योंकि यह आपके नए परिवर्तनों के साथ आगे बढ़ेगा, इसलिए सावधान रहें।


4

मैं ऐसा जीथब एपीआई के माध्यम से करता हूं:

curl -H "Authorization: token %(access_token)s" -sL -o /tmp/repo.tar.gz "http://api.github.com/repos/%(organisation)s/%(repo)s/tarball/%(tag)s" ;\
tar xfz /tmp/repo.tar.gz -C /tmp/repo --strip-components=1 ; \

1
यह शाखाओं और टैग के लिए काम करता है, लेकिन मास्टर का प्रमुख नहीं है जिसे इसके खिलाफ बनाए गए टैग की आवश्यकता है। Imho काफी सुरुचिपूर्ण तरीके से न्यूनतम आकार का संस्करण प्राप्त करते हैं।
J0hnG4lt 14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.