2010-07-17 27 views
8

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

एक चेकआउट मेरे पास से, मैं इस आदेश चलाकर टर्मिनल में एक शाखा बनाया: git checkout -b newbranchname

मेरी समझ से, GitHub कॉल इस "forking"। मैं अपने बॉक्स पर शाखा को गिटहब पर चेकआउट के कांटा से कैसे जोड़ूं?

(आपकी मदद के लिए समय से आगे धन्यवाद। मेरी पृष्ठभूमि तोड़फोड़ के बारे में 1.5 साल है।)

उत्तर

11

आप कुछ चीजों को मिला रहे हैं।

सबसे पहले, एसवीएन में चेकआउट गिट में चेकआउट के समान नहीं है। एसवीएन में चेकआउट कहा जाता है जिसे गिट में क्लोन कहा जाता है। आप एक भंडार की जांच नहीं करते हैं, आप इसे क्लोन करते हैं। "चेक आउट" का अर्थ है एक विशिष्ट शाखा में स्विच करना, जो svn switch जैसा ही कम है, लेकिन आपके पास एक ही चरण में एक नई शाखा बनाने की क्षमता है (यही -b करता है)।

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

एक कांटा जिथब पर मौजूदा तीसरे पक्ष के रेपो की एक प्रति है।आप उस संग्रह की अपनी प्रति प्राप्त करने के लिए "कांटा" बटन दबा सकते हैं, जिससे आप अपना स्वयं का परिवर्तन कर सकते हैं। फिर दूसरा व्यक्ति अपने स्वयं के भंडार में किए गए किसी भी बदलाव को खींच सकता है।

अपने स्थानीय रेपो के साथ अपने GitHub रेपो संबद्ध करने के लिए आपको बस इतना (स्थानीय):

git remote add origin [email protected]:<username>/<repo>.git 

अपने परिवर्तनों को पुश करने के लिए:

git push origin master 

उस Git यहाँ कुछ महान प्रलेखन पा सकते हैं: http://git-scm.com/documentation

+0

आपका उत्तर मेरे उत्तर से एसवीएन उपयोगकर्ताओं की मदद करने के लिए अधिक उन्मुख है। +1 – VonC

+0

स्पष्टीकरण के लिए बहुत बहुत धन्यवाद। तुम्हारी सहायता सराहनीय है! – jackiekazil

3

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

GitHub manual page से

:

एक स्थापित दूरदराज के एक स्थानीय शाखा धक्का लिए, आप बस

git push REMOTENAME BRANCHNAME 

उपयोग करने के लिए आप एक ही उपयोग करने के लिए नहीं करना चाहते हैं की जरूरत है रिमोट शाखा पर नाम आप

git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME. 
का उपयोग कर सकते हैं

बी/a fork GitHub तरफ एक रिपोजिटरी क्लोन है (जो आप कर सकते हैं अपने डेस्कटॉप स्थानीय तरफ मोड़ क्लोन में)

c/आप GitHub पक्ष पर अलग कांटे के बीच शाखाओं (के बाद से, फिर से तुलना करने के लिए चाहते हैं , कांटे केवल गिटहब पक्ष पर मौजूद हैं; आपकी तरफ, आप सिर्फ रिमोट रेपो क्लोन कर रहे हैं), आप कर सकते हैं!
(ठीक है ... आप 2 दिन पहले, 15 जुलाई, 2010 से कर सकते हैं):
Cross-Repository Compare View: भंडारों में शाखाओं की तुलना करने की क्षमता।


याद रखें कि एक DVCS साथ, एक शाखा बनाना यह GitHub पर अन्य सभी के लिए दिखाई होने मतलब यह नहीं है (/ एक दूरस्थ भंडार को धक्का/खींच से)

आप एक extra dimension to branching: publication है।
यह सिर्फ अपने खुद के रेपो पर स्थानीय रूप से बनाया गया है। प्रकाशन भाग आपको छोड़ दिया गया है।

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