2011-02-15 19 views
95

पर कांटा और शाखा के बीच अंतर यदि मैं जिथब पर होस्ट की गई एक परियोजना को फोर्क करता हूं। क्या मैं सभी शाखाओं कांटा? मुझे कैसे पता चलेगा कि मेरी कांटा किस शाखा पर आधारित है? दूसरे शब्दों में कौन सी शाखा मेरे पीसी पर डाउनलोड की जाएगी?जिथब

उत्तर

32

गिटहब पर सभी शाखाओं को एक कांटा में कॉपी किया जाएगा। (जाहिर है, इसमें ऐसी शाखाएं शामिल नहीं हैं जिन्हें पहली बार गिटहब पर धक्का नहीं दिया गया था।)

लेकिन एक कांटा गिटहब-टू-गिटहब ऑपरेशन है; आपके पीसी पर कुछ भी कॉपी नहीं किया गया है। यह गिट क्लोन के समान नहीं है। यदि आप पूछना चाहते हैं कि "जब मैं एक परियोजना क्लोन करता हूं तो क्या कॉपी किया जाता है?", git-clone(1) के लिए मैनुअल देखें।

8

फोर्क गिटहब पक्ष पर एक क्लोन है (यह सबकुछ क्लोन करता है)।
जब आप रेपो क्लोन कर रहे हों, तो आपको इसकी सभी शाखाओं के साथ कहा गया रेपो का पूरा इतिहास मिल रहा है।

भले ही आप सिद्धांत change the default branch of a remote repo में कर सकें, गिटहब रेपो से एक क्लोन मुख्य रूप से मास्टर शाखा की तलाश में है। एक गिटहब क्लोन प्राप्त करने वाली "डिफ़ॉल्ट" शाखा को बदलने का अर्थ है, आपको मास्टर शाखा का नाम बदलने की आवश्यकता है।

+0

तो जब मैंने फोर्क रेपो को क्लोन किया (इसे अपने पीसी पर प्रभावी रूप से डाउनलोड करें), अल शाखाएं मेरे पीसी पर हैं? लेकिन एक शाखा में अतिरिक्त फाइलें जोड़ दी गई हैं। तो क्या मेरे पीसी में उन फाइलें होंगी या नहीं? –

+1

@ जोनाथन: आपके पीसी को सभी फाइलों के साथ सभी शाखाएं मिलेंगी। लेकिन आपकी * काम करने वाली निर्देशिका * (वह जगह जहां आप चेकआउट * उन शाखाओं में से एक *) वास्तव में एकमात्र जगह होगी जहां आप उन फ़ाइलों को देखेंगे। – VonC

+0

SO wherre अन्य फ़ाइलों को वास्तव में .git फ़ोल्डर में संग्रहीत किया जाएगा? –

1

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

यदि आप अपने नए पीसी में अपने नए टकसाल कांटा से क्लोन करते हैं, तो आपके पास origin आपके पीसी पर रिमोट होगा जो आपके गठबंधन पर आपके कांटा की मास्टर शाखा को इंगित करता है।

+0

हेल्प.गिटहब पेज के अनुसार [एक परियोजना को फोर्किंग] (http://help.github.com/forking/), 'अपस्ट्रीम' शाखा बनाना कुछ है करना है; और वे आपको बताते हैं कि ऐसा कैसे करें। –

+0

तो ऐसा करता है, मैं गलत पढ़ता हूं। मैं उस बिट को बदल दूंगा। – bhamby

+2

वह एक रिमोट है, शाखा नहीं। – Arrowmaster

98

इसके बारे में लगता है कि इस तरह से:

रेपो [sitory] एक या कई शाखाओं के बीच टीम के सहयोग काम से मेल खाती है। सभी योगदानकर्ताओं की अपनी प्रतिलिपि होती है।

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

प्रत्येक शाखा कांटा के भीतर और/या मुख्य रेपो में आप काम करना चाहते हैं, इस पर निर्भर करते हुए कई प्रकार की चीजों के अनुरूप हो सकते हैं। प्रत्येक शाखा परियोजना के एक संस्करण को संदर्भित कर सकती है लेकिन विकास के विभिन्न चैनलों, जैसे हॉटफिक्सेस या प्रयोगात्मक काम के अनुरूप भी हो सकती है।

पुल अनुरोध (गिटहब पारिस्थितिकी तंत्र में) कार्य के अनुरूप है। हर बार जब मैं मुख्य रेपो को एक अलग समाप्त कार्य में योगदान देना चाहता हूं, तो मैं उस कार्य में बनाए गए से संबंधित एक पुल अनुरोध बना देता हूं। ये काम कांटा या शाखामुख्य रेपो से खींचा जाता है।

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

3

यदि आप किसी प्रोजेक्ट को फोर्क करते हैं, तो आप पूरे प्रोजेक्ट की प्रतिलिपि अपने गिट हब खाते में बना रहे हैं।आप अपने पीसी

के लिए कुछ भी मुकाबला नहीं कर रहे हैं अपने पीसी में एक प्रति आप इसे क्लोन और सब सामान निकालने के लिए बनाने के लिए और आप सभी शाखाओं कि इस परियोजना

1

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

शाखा कुछ अलग है और फोर्क/रेपो में शामिल है। वास्तव में शाखा विकास के विभिन्न चरणों में आपका काम है। जब वे क्लाइंट को साइट का प्रदर्शन करने के लिए, विभिन्न उपयोगकर्ताओं तक पहुंच प्रदान करने के लिए कार्यक्षमताओं का एक सेट सहेजने के लिए आवश्यक होते हैं, तो

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