यह है कि आप अपने काम को एक दूरस्थ रिमोट रिपॉजिटरी पर कैसे साझा करते हैं



रिमोट रिपॉजिटरी पर टीम के साथ अपने स्थानीय कार्य को साझा करें, परिवर्तनों को ट्रैक करते समय इसे प्रबंधित करना और सिंक किए गए रहना भी सीखें।

प्रकाशित होने और दुनिया (या आपकी टीम) के साथ साझा किए जाने पर आपका कार्य अधिक मूल्य जोड़ता है !!!

शुरू करना

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

यहां से हमारी चर्चा शुरू करते हुए, हम इस बात पर ध्यान केंद्रित करते हैं कि कैसे git आपकी मदद करता है सहयोग करें और अपने काम को साथियों के साथ साझा करें ताकि हर कोई एक-दूसरे के डेटा को दूषित किए बिना एक साथ एक ही कोड पर काम कर सके।
यहीं की अवधारणा है रिमोट रिपोजिटरी तस्वीर में आ जाओ।
मुझे लगता है कि आप की कला में महारत हासिल है तुम्हारे द्वारा कार्यकारी डाइरेक्टरी (filesystem) करने के लिए स्टेज का जगह और अंत में यह आपके लिए प्रतिबद्ध है स्थानीय भंडार (डेटाबेस)।

यह हमें अपने डेटा को एक दूरस्थ रिपॉजिटरी पर प्रकाशित करने के लिए अगले स्तर 'रिमोट रेपो' पर धकेलने के लिए प्रेरित करता है।

क्या मेरा डेटा पहले से ही git डेटाबेस में संग्रहीत नहीं है?

हाँ यही है! हालाँकि, जैसा कि आपके डेटा के नीचे आरेख में संकेत दिया गया है कि अभी भी चालू है स्थानीय डेटाबेस आपके बाद प्रतिबद्ध है इसे और अपने सहयोगियों के साथ अभी तक साझा नहीं किया गया है।
4-स्तरीय वास्तुकला
यह लेख हमारे डेटा को आपके से चुनने के बीच के अंतर को भरता है स्थानीय भंडार और इसे अगली लेयर पर ले जाया जाता है जिसे कहा जाता है रिमोट रिपॉजिटरी





रिमोट रिपॉजिटरी क्या है

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

बेयर रिपॉजिटरी एक दूरदराज के भंडार के लिए इसे रखने के लिए अवधारणा एक अतिरिक्त लाभ है संरक्षित और टीम के सदस्यों के बीच कोड साझा करने के अपने एकमात्र उद्देश्य के लिए उपयोग किया जाता है।
इसे दूरस्थ रिपॉजिटरी को by के उपयोग से नंगे घोषित करके प्राप्त किया जाता है- अन्यायOs इसे एक रिपॉजिटरी के रूप में शुरू करने के समय झंडा।
ऐसा करने से, आपका रेपो गिट मेटाडेटा या दूसरे शब्दों में छिपी हुई alone .गित ’निर्देशिका के तहत संग्रहित वस्तुओं के साथ बनाया जाता है और किसी भी डेटा को सीधे जोड़ने के लिए कोई भी कार्य प्रतिलिपि उपलब्ध नहीं होती है।
आदेश:git init --bare

इसे ध्यान में रखते हुए, आगे बढ़ते हुए हम एक दूरस्थ रेपो के प्रबंधन के लिए और अधिक तरीके देखेंगे और हम रिमोट के साथ अपने स्थानीय काम को कैसे सिंक करेंगे।



एक दूरस्थ रिपॉजिटरी बनाएँ

सबसे पहले और सबसे महत्वपूर्ण, आपको अपने रिमोट रेपो को जिस स्थान पर रखना है, उस स्थान पर निर्णय लेना होगा।
कुछ लोकप्रिय क्लाउड-आधारित गिट होस्टिंग रिपॉजिटरी हैं जैसे कि - गिटलैब , बिट बकेट , गिटहब , Perforce तथा CloudForge कुछ नाम है।
इस पोस्ट में, मैं GitHub पर विचार कर रहा हूं क्योंकि यह वह जगह है जहां मैंने पहली बार अपने गिट रिपॉजिटरी को रखना शुरू किया था। शुरू करने के लिए, आपको बस एक GitHub खाते में साइन इन करना होगा और फिर एक नया भंडार बनाएँ , यह इस दूरस्थ रेपो की ओर इशारा करते हुए एक URL बनाता है।


Git एक रिपॉजिटरी URL को संबोधित करने के लिए ssh, git, http और https प्रोटोकॉल का समर्थन करता है।

वैकल्पिक रूप से, आप अपना प्रोजेक्ट कहीं और भी कह सकते हैं लिनक्स सर्वर नीचे दिए गए आदेशों का पालन कर रहे हैं-
cd $ घर
mkdir रिमोट_रेपो
सीडी रिमोट_रेपो
git init --bare

रिमोट को अपनी स्थानीय मशीन में संलग्न करें

रिमोट को अपनी वर्किंग कॉपी में संलग्न करने का मतलब है कि ए सूचक संदर्भ हैंडलर रिमोट के लिए या बस एक 'कहा जाता है रिमोट हैंडलर ”।
मेरे प्रोजेक्ट पर जाने दें जिसे मैं प्रकाशित करना चाहता हूं-सीडी learnRemotes
वाक्य - विन्यास:git रिमोट ऐड
आदेश:git Remote add ओरिजिनल https://github.com/divyabhushan/learnRemotes.git

'मूल है चूक दूरस्थ हैंडलर के लिए संदर्भ नाम। ” (दूरस्थ नाम कुछ प्रासंगिक नाम होना चाहिए)
आज्ञा का उपयोग करते हुए देखते हैं कि काम किया है:दूरदराज के

यह किया :)

दूरस्थ URL को नाम के साथ प्रिंट करें:
git रिमोट -v

बहुत बढ़िया! आप अपने स्थानीय कामकाजी निर्देशिका से अपने दूरस्थ भंडार के लिए एक संबंध स्थापित करने के लिए तैयार हैं।

प्रकाशित करने का समय

वाक्य - विन्यास:git पुश --all --tags[-यू | -सेट-अपस्ट्रीम]
आदेश:git पुश ओरिजिनल मास्टर

तो, आप इस रूप में पढ़ें 'स्थानीय स्वामी से आने के लिए आवागमन के विस्तार को धक्का'

यदि आप अपने GitHub खाते की जांच करते हैं, तो आपके स्थानीय आवागमन (डेटा) को वहां प्रदर्शित किया जाना चाहिए-



ट्रैकिंग शाखाएँ

इसलिए, आपने दूरस्थ रिपॉजिटरी पर अपने काम को सफलतापूर्वक प्रकाशित किया है।
हालाँकि, यह महत्वपूर्ण है कि आप अपनी स्थानीय शाखा को स्थापित करें धावन पथ दूरस्थ शाखा पर स्वचालित रूप से परिवर्तन।
उपयोग '- परेशान-अपस्ट्रीमया-uPush ध्वज धक्का 'आदेश के साथ ध्वज
आदेश:git push -u मूल गुरु

रंग कोडित शाखाएँ


आइए आगे further मास्टर ’शाखा पर एक नई कमेटी बनाएं और यह सत्यापित करें कि git इसे कैसे बताता है-
आदेश:गिट की स्थिति


वर्बोज़ मोड में ट्रैकिंग शाखाएँ दिखाएँ
आदेश:git शाखा -vv


इसलिए हर बार, ट्रैक की गई शाखा पर आपके स्थानीय और दूरस्थ रिपॉजिटरी के बीच कमिट में अंतर होता है, Git आपको बताएगा।
यह अच्छा नहीं है !!!

दूसरे आपके रिमोट से कैसे जुड़ेंगे?

यह केक का एक टुकड़ा है जब आप क्लोन एक दूरस्थ भंडार !!!

तो, दूरस्थ रिपॉजिटरी से क्लोनिंग 2 चीजें पहले करती है, आपकी दूरस्थ संदर्भ स्वचालित रूप से जोड़ा जाता है, और दूसरा डिफ़ॉल्ट डाली इस पर लगा है धावन पथ दूरस्थ शाखा खुद ब खुद।

स्टेप 1: एक अलग उपयोगकर्ता के रूप में अपने रिमोट रेपो को क्लोन करें-
आदेश:git clone https://github.com/divyabhushan/learnRemotes.git डेवलपर 2
सीडी डेवलपर २

चरण 2: रिमोट और उसका url दिखाएं
आदेश:git रिमोट -v


चरण 3: ट्रैकिंग शाखाओं की सूची बनाएं
आदेश:git शाखा -vv


मज़ा तब शुरू होता है जब 2 डेवलपर 2 ’अपना काम शुरू करेगा और रिमोट को आगे बढ़ाएगा।

आप कनेक्ट और योगदान कर सकते हैं एक से अधिक रिमोट एक से भंडार एकल परियोजना

दूरस्थ शाखाएँ देखें

आदेश:git शाखा -r


स्थानीय और दूरस्थ दोनों शाखाओं को मुद्रित करने के लिए a -a 'विकल्प का उपयोग करें, कुछ स्थानीय शाखाएँ बनाने के बाद इसे अपने स्थानीय रेपो में आज़माएँ।

अन्य लोग आपके रिमोट में कैसे योगदान करते हैं?

प्रारंभिक व्यवस्था
Developer2 कुछ चीजों को बदलने का फैसला करता है जैसे:
सेवा मेरे। सृजन करना एक नई 'सुविधा' 'मास्टर' शाखा पर नवीनतम प्रतिबद्ध से और एक बनाते हैं नई प्रतिबद्धता 'सुविधा' शाखा पर
आदेश:
git चेकआउट -b सुविधा
इको 'फीचर एन्हांसमेंट्स'> feature.txt
जोड़ देना। && git कमिट -म 'फीचर एन्हांसमेंट्स'

बी। सृजन करना एक अलग 'फीचर 2' शाखा, 'मास्टर' शाखा पर एक पुरानी प्रतिबद्धता से
आदेश:
git चेकआउट -b फीचर 2 95651fb
इको 'feature2 गयी'> feature2.txt
जोड़ देना। && git प्रतिबद्ध -m 'फीचर 2 परिवर्तन जोड़ना'

ट्रैकिंग जानकारी के साथ डेवलपर 2 मशीन पर शाखाओं की कल्पना करें:

जैसा कि आपने देखा होगा कि दूरस्थ शाखाओं को ट्रैक करने के लिए नई शाखाएँ स्थापित नहीं की जाती हैं।

रिमोट में परिवर्तन धक्का
सबसे पहले मुझे up सुविधा-शाखा को up –सेट-अपस्ट्रीम या -u ’ध्वज के साथ रिमोट पर धकेलें
आदेश:git पुश -u मूल सुविधा

विज़ुअल स्टूडियो कैसे सीखें




रिमोट पर एक नई शाखा बनाई जाएगी, अगर यह पहले से मौजूद नहीं है !!!

इस समय, दूरस्थ शाखाओं को कमांड के साथ सूचीबद्ध करें: 'git Branch -r'




दूरस्थ शाखा को ट्रैक करने का दूसरा तरीका
इसके अलावा, '2 फीचर 2' शाखा को रिमोट पर उसी 'फीचर' शाखा की ओर भी इंगित करें
आदेश:git Branch --सेट-अपस्ट्रीम-टू = ओरिजिन / फीचर फीचर 2



रंग कोडित शाखा


एक त्वरित टिप: यदि आप पहले से ही उस शाखा पर हैं, तो स्थानीय शाखा का नाम छोड़ सकते हैं, दूसरे शब्दों में, स्थानीय शाखा पहले से ही चेक-आउट है।

वर्बोज़ मोड में शाखाओं को फिर से सूचीबद्ध करें, फिर से कमांड करें:git शाखा -vv



सूचना, दोनों स्थानीय शाखाएँ 'सुविधा' और 'सुविधा 2' एक ही दूरस्थ शाखा 'सुविधा' की ओर इशारा करती हैं।

रिमोट के साथ सिंक किया हुआ रहना - खींचना, खींचना और धक्का देना

आइए उस हिस्से पर विचार करें जहां दूरस्थ शाखा आप ट्रैकिंग कर रहे हैं पहले से ही अपडेट किया गया है, तब क्या है?
एक सरल 'गिट की स्थिति‘या‘गिट चेकआउट‘या यहां तक ​​कि‘git शाखा -vv‘कमांड हमें इस तरह की बेमेल चेतावनी देता है-



‘Developer2’ को पहले स्थानीय संदर्भ और वस्तुओं को अपडेट करना चाहिए (’ git fetch ‘) और फिर दूरस्थ और स्थानीय परिवर्तन (ge गिट मर्ज’) को मर्ज करें।
दिलचस्प बात यह है कि आप इन दोनों आदेशों को एक एकल 'गिट पुल' कमांड द्वारा बदल सकते हैं।
वाक्य - विन्यास:जाओ खींचें

-सुरक्षित ट्रैक शाखा के लिए
सिंटैक्स: गिट पुल [:]
आदेश:git पुल ओरिजनल फीचर: feature2

—पर नज़र रखी हुई शाखा
सिंटेक्स: गिट पुल
आदेश:पकड़ खींचो




=> व्यवहार में, इस स्तर पर उत्पन्न होने वाले संघर्ष हो सकते हैं जब आप सरलता के लिए रिमोट से खींचते हैं मैंने एक नो-संघर्षपूर्ण परिवर्तन उत्पन्न किया है।

Ge developer2 ’के खींचने (लाने और मर्ज) के बाद दूरस्थ नवीनतम परिवर्तनों को अब अपना काम प्रकाशित करना होगा-
आदेश:git पुश ओरिजिन HEAD: फीचर
नोट: अपस्ट्रीम शाखा ’फ़ीचर’ स्थानीय शाखा ’फीचर 2’ के नाम से मेल नहीं खाती है, आपको इसे स्पष्ट रूप से प्रदान करना होगा



अनुस्मारक : ‘HEAD 'स्थानीय' फीचर 2 'शाखा की नवीनतम प्रतिबद्धता है।

'Git fetch' का उपयोग कब करें?
ऐसे समय में जब आपको अपनी अपडेट करने की आवश्यकता होती है संदर्भ प्रमुख वास्तव में दूरस्थ से डाउनलोड करने (खींचने) के बिना।
या जब अद्यतन पर दूरस्थ शाखाओं को संशोधित / हटा दिया गया है, तो आपको the के साथ लाने के लिए कमांड चलाना होगा--छटना‘विकल्प।
एक सर्वोत्तम अभ्यास के रूप में, आपको हर बार अपने स्थानीय रेपो पर काम शुरू करने के लिए 'git fetch' कमांड चलाना होगा।

दूरस्थ प्रबंधन

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

बड़े डेटा डेवलपर नौकरी विवरण

रिमोट का नाम बदलें

वाक्य - विन्यास:git रिमोट का नाम बदलें
आदेश:git रिमोट का नाम snv_repo svn
उदाहरण के लिए, 3 प्रोजेक्ट्स से जुड़े प्रोजेक्ट मैनेजर पर विचार करें-


दूरस्थ संदर्भ हटाएं

मान लीजिए कि आपके पास दूरस्थ रिपॉजिटरी के साथ कोई अधिक सिंक नहीं है, तो आपको इसके लिए पॉइंटर संदर्भ को हटाने की संभावना है।
हालाँकि, यह दूरस्थ रिपॉजिटरी और अन्य कार्यों को प्रभावित करने वाला नहीं है।

वाक्य - विन्यास:रिमोट को हटा दें
आदेश:git रिमोट हटाना proj1


यदि आपने What proj1 'रिपॉजिटरी से एक शाखा को ट्रैक करने के लिए एक स्थानीय शाखा निर्धारित की थी तो क्या होगा?
जी आप स्थानीय शाखा (और इसलिए काम) है सुरक्षित है और अभी भी मौजूद है, बस इसके दूरस्थ ट्रैकिंग संदर्भ तथा विन्यास सेटिंग्स हो जाएगा स्वतः हटा दिया गया

दूरस्थ शाखा हटाएं

आप कहते हैं गलती से अपने को धकेल दिया निजी किसी न किसी पर काम रिमोट के लिए शाखा लेकिन दूसरों को अभी तक इसकी जांच नहीं करना चाहते हैं -
दूरस्थ ’svn’- से‘ अपूर्ण अधूरा ’शाखा निकालें
आदेश:git शाखा -vv# दूरस्थ ट्रैकिंग शाखाएँ



वाक्य - विन्यास:git push --delete
आदेश:git push --delete svn अधूरापन


समेटना

इसके साथ, हम इस लेख के अंत में आते हैं। यदि आप यह पाया ' ट्यूटोरियल ' से मिलता जुलता, इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka DevOps प्रमाणन प्रशिक्षण पाठ्यक्रम शिक्षार्थियों को विभिन्न DevOps प्रक्रियाओं में विशेषज्ञता हासिल करने में मदद करता है और कठपुतली, जेनकींस, नागोइस और GIT जैसे उपकरण SDLC में कई चरणों को स्वचालित करने के लिए।