2012-10-25 15 views
24

यदि मैं सही ढंग से समझता हूं, तो गिट के दो प्रकार के भंडार हैं: एक को स्थानीय कहा जाता है, जिसे रिमोट कहा जाता है। मेरे प्रश्न दो प्रकार के भंडारों के बारे में बेहद बेवकूफ हैं।गिट की स्थानीय भंडार और रिमोट रिपोजिटरी - भ्रमित अवधारणाएं

कि कहने के लिए सही

  • Git स्थानीय भंडार एक जिस पर हम स्थानीय परिवर्तन कर देगा है, आम तौर पर इस स्थानीय भंडार हमारे कंप्यूटर पर है।

  • गिट रिमोट रिपोजिटरी सर्वर में से एक है, आमतौर पर 42 मील दूर स्थित एक मशीन।

एक और सवाल: कुछ ट्यूटोरियल मुझे इस कार्यप्रवाह से पता चलता

  • mkdir MyProject
  • सीडी MyProject
  • Git init
  • स्पर्श README
  • Git जोड़ने README
  • Git प्रतिबद्ध -a -m "

मुझे लगता है कि git init myproject एक स्थानीय भंडार बनाता है। मुझे समझ में नहीं आता git commit कमांड है। अगर मैंने अभी तक रिमोट रिपोजिटरी सेट नहीं की है, तो गिट कैसे जान सकता है कि मेरी README फ़ाइल कहां करें ??

मुझे उम्मीद है कि मैं स्पष्ट था।

[संपादित करें] जिस तरह से मैं गिट का उपयोग कर रहा हूं वह दूसरों से अलग हो सकता है: मैं अपने कोड बैकअप के लिए एक निजी गिट भंडार का उपयोग करता हूं। तो मुझे लगता है कि मुझे रिमोट रिपोजिटरी की आवश्यकता है। इस मामले में स्थानीय भंडार बकवास होना चाहिए। क्या मैं सही हू? अपना स्पष्टीकरण के लिए धन्यवाद। ये सबसे बेवकूफ सवाल हैं जिन्हें मैं कहीं और जवाब नहीं ढूंढ सकता ...

+4

यह अपने स्थानीय भंडार के लिए प्रतिबद्ध। गिट को किसी भी प्रकार के "सर्वर" या केंद्रीकृत भंडार की आवश्यकता नहीं है। – Mat

+2

यदि आप 'गिट इनिट' का उपयोग करके एक स्थानीय भंडार स्थापित करते हैं और फिर आप 'रीडमे' फ़ाइल करते हैं - वह फ़ाइल ** स्थानीय भंडार ** को समर्पित है ** - रिमोट होने की आवश्यकता नहीं है - बिल्कुल। –

उत्तर

27

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

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

सभी राज्य के लिए किया गया है कि के बिंदु (के रूप में दूसरों है) कि आप अपने स्थानीय रेपो करने के लिए अपने README के ​​लिए प्रतिबद्ध हैं। फिर, जब भी आप चुनते हैं, तो आप अपने स्थानीय रेपो से किसी भी अन्य रेपो में परिवर्तन को धक्का दे सकते हैं। यह बहुत निफ्टी है!

7

आपका उद्धृत विवरण सही है।

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

रिमोट रिपोजिटरी (उदाहरण के लिए, गिटहब) का उद्देश्य अपने कोड को दुनिया (या कुछ लोगों के लिए) प्रकाशित करना है और उन्हें पढ़ने या लिखने की अनुमति देना है।

रिमोट रिपोजिटरी केवल तभी शामिल है जब आप git push अपने स्थानीय रिमोट रिपोजिटरी में जाते हैं, या जब आप git pull किसी और से इसका काम करते हैं।

10

यदि मैंने अभी तक रिमोट रिपोजिटरी सेट नहीं की है, तो गिट कैसे जान सकता है कि मेरी रीडमे फ़ाइल कहां करें ??

आप अपने स्थानीय भंडार (जो अपनी ही परिवर्तन पर नियंत्रण के साथ एक उचित भंडार है करने से कर रहे हैं, यह सिर्फ एक स्थानीय चेकआउट नहीं है ... क्योंकि आप इसे स्थानीय स्तर पर बनाई गई है, यह नहीं भी एक स्थानीय चेकआउट है !)।

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

26

मैं आपके जैसे बिल्कुल एक ही सवाल का सामना कर के रूप में कर रहा हूँ (VSS और TFS mentalty से आने वाले) और पिछले 3 दिनों के दौरान समझने के लिए शुरू कर दिया। मेरा मानना ​​है कि यह होगा कि चित्र इस तरह के किसी और वहां फंसा के लिए पूरी तस्वीर को समझने के लिए और अधिक उपयोगी होगा।

से: https://greenido.files.wordpress.com/2013/07/git-local-remote.png?w=696&h=570

Git Flow diagram 1

एक और एक, से : https://wiki.lsr.ei.tum.de/lib/exe/fetch.php?media=nst/programming/git_flow.jpg&w=500&tok=e87798

Git flow diagram 2

+1

सहायक उत्तर। टीएफएस से आ रहा है मैं स्थानीय रिपो विचार के बारे में आश्वस्त नहीं हूं - यह टीम में बदलाव को धक्का देने के लिए एक अनावश्यक अतिरिक्त कदम की तरह लगता है। –

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