बीच क्या अंतर है git clone
और git checkout
?
बीच क्या अंतर है git clone
और git checkout
?
जवाबों:
चेकआउट के लिए मैन पेज: http://git-scm.com/docs/git-checkout
क्लोन के लिए मैन पेज: http://git-scm.com/docs/git-clone
इसे जमा करने के लिए, क्लोन आपके पास नहीं होने वाली रिपॉजिटरी लाने के लिए है, चेकआउट एक रिपॉजिटरी में पहले से मौजूद शाखाओं के बीच स्विच करने के लिए है।
नोट: उन लोगों के लिए जिनके पास SVN / CVS पृष्ठभूमि है और Git में नया है, git clone
SVN / CVS के बराबर है checkout
। अलग-अलग शब्दों का एक ही शब्द अक्सर भ्रमित करता है।
checkout
अन्य चीज़ों के लिए भी उपयोग किया जा सकता है, जैसे आपकी फ़ाइल में आपकी फ़ाइल को किसी अन्य संशोधन से उस फ़ाइल के संस्करण के साथ ओवरराइट करना।
git क्लोन रिमोट रिपीट सर्वर से आपकी रिपॉजिटरी लाने के लिए है।
git चेकआउट आपकी रिपॉजिटरी की आपकी इच्छित स्थिति (जैसे शाखाओं या विशेष फ़ाइलों) की जाँच करना है।
उदाहरण के लिए, आप वर्तमान में मास्टर शाखा में हैं और आप विकसित शाखा में स्विच करना चाहते हैं।
git checkout develop_branch
उदाहरण के लिए, आप किसी विशेष फ़ाइल की किसी विशेष स्थिति की जांच करना चाहते हैं
git checkout commit_point_A -- <filename>
आपके लिए Git सीखने के लिए यह एक अच्छा संदर्भ है , इससे आप बहुत आसानी से समझ सकते हैं।
git clone
स्थानीय रेपो के साथ भी काम करेगा।
ध्यान देने वाली बात यह है कि गिट के भीतर किसी भी "कॉपीआउट" की कमी है। ऐसा इसलिए है क्योंकि आपके पास पहले से ही आपके स्थानीय रेपो में एक पूर्ण प्रति है - आपका स्थानीय रेपो clone
आपके चुने हुए अपस्ट्रीम रेपो में से एक है। तो आपके पास रेफ़रो रेपो में उन फाइलों पर कुछ 'लॉक' न रखते हुए, प्रभावी रूप checkout
से सब कुछ का एक पर्सनल है ।
Git SHA1 हैश मानों को यह सत्यापित करने के लिए तंत्र के रूप में प्रदान करता है कि आपके पास एक फ़ाइल / निर्देशिका ट्री / कमिट / रेपो की प्रतिलिपि ठीक वैसी ही है, जैसा कि जो भी उपयोग करता है वह विश्वास के पदानुक्रम के भीतर "मास्टर" के रूप में चीजों को घोषित करने में सक्षम है। यह उन सभी 'तालों' से बचा जाता है, जिनके कारण अधिकांश SCM सिस्टम चोक हो जाते हैं (निजी प्रतियों, बड़े मर्जों की सामान्य समस्याओं के साथ, और स्रोत कोड का कोई वास्तविक नियंत्रण या प्रबंधन नहीं; ;-))
बस git checkout के 2 उपयोग हैं
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
की सामग्री के साथ एक नई ब्रांच बनाएंगे और नए बनाए गए ब्रांच पर स्विच करेंगेआप आधिकारिक साइट पर अधिक विकल्प पा सकते हैं
-b
विकल्प बहुत बढ़िया है जो एक नई स्थानीय शाखा बनाता है और एक ही समय में एक ही समय में इसकी जाँच करता है। पसन्द आया!
checkout
कई मामलों के लिए उपयोग किया जा सकता है:
पहला मामला : उदाहरण के लिए स्थानीय भंडार में शाखा के बीच स्विच करें:
git checkout exists_branch_to_switch
आप इस मामले में नई शाखा भी बना सकते हैं और इस मामले में स्विच आउट कर सकते हैं -b
git checkout -b new_branch_to_switch
दूसरा मामला : एक्स रे से फ़ाइल को पुनर्स्थापित करें
git checkout rev file_to_restore
...