2012-12-09 11 views
7

मुझे हाल ही में एक परियोजना में गिट के लिए पेश किया गया है जिस पर मैंने काम करना शुरू कर दिया है, जिसने मुझे स्कॉट चेकॉन द्वारा "प्रो गिट" के ऑनलाइन संस्करण को पढ़ने शुरू करने के लिए प्रोत्साहित किया।"गिट रिमोट एड" वास्तव में क्या करता है?

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

जो मुझे अपने प्रश्न में लाता है - जो मैंने समझा है, उससे "गिट रिमोट एड" प्रभावशाली रूप से एक रिमोट रिपोजिटरी को एक शॉर्टेंड नोटेशन के रूप में जोड़ता है जिसे हम बाद में उपयोग कर सकते हैं। जो मुझे समझ में नहीं आता है यह है - चूंकि मैं केवल एक रिपॉजिटरी यूआरएल निर्दिष्ट करके क्लोन करता हूं, मैं अपने स्थानीय प्रोजेक्ट की निर्देशिका के तहत एकाधिक रिपोजिटरी यूआरएल कैसे जोड़ सकता हूं?

सटीक होना, मैं

git clone git://git.apache.org/commons-lang.git 

यह मेरा स्थानीय "कॉमन्स-लैंग" नाम निर्देशिका में पूरी परियोजना से अधिक GIT नकल में परिणाम का उपयोग कर अपाचे कॉमन्स-लैंग परियोजना की जाँच लगता है। चूंकि मैंने क्लोनिंग के लिए केवल एक यूआरएल का उपयोग किया है, इसलिए "रिमोट एड" का क्या मतलब है? क्या इसका मतलब यह है कि एक ही प्रोजेक्ट (कॉमन्स-लैंग) कई सर्वरों पर होस्ट किया जा सकता है, या यह है कि मैं एक नया रिमोट एड्रेस जोड़ कर अपने स्थानीय प्रोजेक्ट के भीतर एक नई परियोजना क्लोन कर सकता हूं?

प्रश्न के शुरुआती स्वर के लिए माफ़ी। बस मेरे तथ्यों को सीधे मृत करने की कोशिश कर रहा है। धन्यवाद।

उत्तर

13

आप git remote add ("Git Basics - Working with Remotes" से) के साथ जितने अपस्ट्रीम रेपो पते को जोड़ सकते हैं।

क्लोनिंग करते समय, आपके लिए एक जोड़ा गया है, जिसका नाम 'origin' है।

यह मतलब यह है कि एक ही परियोजना (कॉमन्स-लैंग) कई सर्वरों पर होस्ट किया जा सकता है,

हाँ, कि, Git की वितरित प्रकृति के कारण होता धक्का और खींच के बाद से एक प्रकाशन का परिचय वर्कफ़्लो which is orthogonal मर्ज वर्कफ़्लो में।

या यह है कि मैं एक नया रिमोट पता जोड़कर अपने स्थानीय प्रोजेक्ट के भीतर एक नई परियोजना क्लोन कर सकता हूं?

नहीं। आप विभिन्न अपस्ट्रीम रिपोज़ से प्राप्त कर सकते हैं।

"Definition of “downstream” and “upstream”" देखें।

एक क्लासिक परिदृश्य जहां git remotes add जब GitHub पर forking है:
देखें "How do I merge locally a master and a fork in git?"

remote add

  • origin जब GitHub पर अपने कांटा क्लोनिंग आप के लिए जोड़ा गया है।
  • लेकिन आपको अपने स्थानीय क्लोन को मूल रिपो के साथ अद्यतित रखने के लिए git remote add upstream https://github.com/user/reponame की आवश्यकता है (एचटीई जिसे आप सीधे योगदान नहीं दे सकते हैं, यही कारण है कि आपको पहली जगह गिटहब पर कांटा बनाना था)।
संबंधित मुद्दे