2008-11-20 12 views
12

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

इस स्थिति में काम करने का सबसे अच्छा तरीका क्या है? मैं अपने खुद के रेपो को फोर्क नहीं करना चाहता हूं और मैं वास्तव में खुद को ईमेल भेजना या अनुरोध खींचना नहीं चाहता हूं। मैं सिर्फ गिटूब को मास्टर की तरह क्यों नहीं मान सकता और इसे विभिन्न कंप्यूटरों पर अपने सभी व्यक्तिगत रिपोज़ पर पुश/पुल नहीं कर सकता?

+0

क्या आपने गिथब से खींचने की कोशिश करने से पहले अपने यूबंटू बॉक्स में जिथब से रिपो को क्लोन किया है? –

+0

क्या आप "सभी प्रकार की परेशानी" से क्या मतलब रखते हैं? क्या आपको परिवर्तनों में विलय करने में परेशानी है? – mipadi

+0

मैंने अपने उबंटू बॉक्स पर रेपो बनाया और इसे गीथूब पर धक्का दिया। मुझे नहीं लगता कि मैंने इसे गिटूब से अपने उबंटू बॉक्स पर वापस क्लोन कर दिया है। क्या यह आवश्यक है? और जब मैं सभी प्रकार की परेशानी कहता हूं, मेरा मतलब है कि मुझे कई त्रुटि संदेश मिल गए हैं। मैंने अंततः 'commit-एफ' कमांड का इस्तेमाल किया और यह काम किया। Sorta। –

उत्तर

9

मुझे लगता है कि आपकी समस्या यह थी कि जिस मशीन पर आपने पहली बार रेपो बनाया था, जब आपने git pull कमांड जारी करने का प्रयास किया था।

जब आप किसी मौजूदा गिट भंडार को क्लोन करते हैं (जैसे आपने अपनी दूसरी मशीन, मैकबुक प्रो पर किया था), तो आप स्वचालित रूप से सेट हो जाते हैं ताकि आपके git pull कमांड स्वचालित रूप से आपके स्थानीय परिवर्तनों के साथ रिमोट को विलय कर सकें।

हालांकि, जब आप प्रारंभ में एक रेपो बनाते हैं और फिर इसे रिमोट रिपोजिटरी पर साझा करते हैं, तो आपको चीजों को क्लोन रेपो के रूप में स्वचालित बनाने के लिए कुछ कमांड जारी करना होगा।

# GitHub gives you that instruction, you've already done that 
# git remote add origin [email protected]:user_name/repo_name.git 

# GitHub doesn't specify the following instructions 
git config branch.master.remote origin 
git config branch.master.merge refs/heads/master 

ये पिछले कुछ निर्देश इस रेपो से तो भविष्य Git git pull के कॉन्फ़िगर स्वचालित रूप से सभी दूरस्थ परिवर्तन मर्ज हो जाएंगे।

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

यदि आप रूबी का उपयोग नहीं करते हैं, तो मेरा टूल शायद स्थापित करने में परेशानी का अधिक होना होगा। आप क्या कर सकते हैं an old post on my blog देखें, जहां आपके लिए सबसे अधिक सामान जीबी स्पष्ट रूप से दिखाया गया था। अपने गिट नोट्स फ़ाइल को चाबुक करें :-)

+1

यह वही था जो मैं ढूंढ रहा था। मैं रुबी का उपयोग कर रहा हूं, लेकिन मैं गिट के आस-पास अपना रास्ता सीखने की कोशिश कर रहा हूं और मुझे लगता है कि इसे "कठिन तरीका" करना शायद सबसे अच्छा है। :) –

+0

यह git_remote_branch का बिल्कुल सही बिंदु है। प्रत्येक बार जब यह आपकी तरफ से कमांड चलाता है, तो यह आपके द्वारा चलने वाले आदेशों को लाल रंग में प्रिंट करता है। इसके अलावा, इसे समझाने के आदेश के साथ चीटशीट के रूप में उपयोग किया जा सकता है: grb व्याख्या करें new_branch (सामान्य कमांड grb को new_branch बनाने के बजाय) :-) – webmat

+1

"जीआरबी: यह सिर्फ गामा रे बर्स्ट के लिए खड़ा नहीं है।" –

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

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