2013-08-30 5 views
18

निम्न आदेश है जो मैं एक विशिष्ट प्रतिबद्धता को चेकआउट करने के लिए उपयोग करता हूं।गीट क्लोन और चेकआउट एक ही कमांड में

git clone git://repo.git/repo123 
git checkout <commitID> 

मैं ऊपर एक गिट क्लोन कमांड का उपयोग करके ऊपर एक कदम में करना चाहता हूं।

कारण मैं ऐसा करना चाहता हूं, repo123 बहुत बड़ा है। तो मैं जो प्रतिबद्धता चाहता हूं उसे देखकर मुझे बहुत समय बचाएगा।

मुझे --depth विकल्प से अवगत है। लेकिन इस मामले में, इसका कोई उपयोग नहीं है। क्या कोई मुझे बता सकता है कि यह कैसे करें?

+0

'--depth' की समस्या क्या है? – michas

उत्तर

2

मैं एक ही स्थिति में दौड़ रहा था और यह --depth के साथ गिट क्लोन कमांड के साथ अच्छा काम करता था। और -b पैरामीटर के साथ कमांड के अंत में शाखा-नाम/प्रतिबद्ध/टैग-नाम निर्दिष्ट करें।

सिंटेक्स:

git clone --depth 1 github.com:ORG-NAME/Repo.git -b <Branch-Name/Commit-Number/TAG> 
+2

क्या यह वास्तव में एक प्रतिबद्ध SHA1 के लिए काम करता है? मैंने गिट 2.5.0 के साथ इसे आजमाया है और हालांकि यह शाखा के नाम और टैग स्वीकार करता है, यह काम करता है। – meowsqueak

2

है आपकी समस्या चेकआउट बड़े या भंडार ही किया जा रहा है? git clone के रूप में, अच्छी तरह से, एक भंडार क्लोन करता है जिसे आप आमतौर पर पूरे आकार में पूरे भंडार प्राप्त करते हैं। (। जब तक आप एक उथले क्लोन कर रहे हैं के रूप में आप पहले से ही सुझाव दिया)

यदि यह गलत शाखा git help clone की चेकआउट के बारे में वास्तव में कहते हैं:

--no-checkout, -n 
     No checkout of HEAD is performed after the clone is complete. 

-n साथ क्लोनिंग के बाद आप मैन्युअल रूप से

21
की जांच कर सकते
git clone u://r/l --branch x 

अभी भी सब कुछ क्लोन करता है लेकिन स्थानीय शाखा को उस शाखा में सेट करता है, इसलिए यह एक चेक आउट है।

संबंधित मुद्दे