2012-03-27 12 views
5

हम ग्रहण का उपयोग कर रहे (eGit प्लगइन के साथ) और मैं एक साझा नेटवर्क ड्राइव है कि कई उपयोगकर्ताओं की पहुंच है पर एक रेपो होस्ट करना चाहते हैं।क्या एकाधिक उपयोगकर्ताओं के लिए साझा नेटवर्क ड्राइव पर गिट रेपो का उपयोग करना सुरक्षित है?

क्या उपयोगकर्ता सभी एक ही मूल रेपो (साझा ड्राइव पर) पर इंगित कर सकते हैं या क्या प्रत्येक उपयोगकर्ता के लिए रेपो को अपने स्थानीय ड्राइव पर क्लोन करना बेहतर होगा, इस स्थानीय संस्करण को बंद करें, और नेटवर्क के मूल में परिवर्तन को दबाएं आवश्यक?

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

मैं इस के निहितार्थ पर स्पष्ट नहीं कर रहा हूँ, लेकिन यह एक अच्छा विचार की तरह प्रतीत नहीं होता है, पहले निरीक्षण पर! उदाहरण के लिए, एक साथ संपादन के लिए एक ही फाइल को खोलने की कोशिश कर रहे 2 उपयोगकर्ता जैसे बुनियादी समस्याओं को कैसे संभालेंगे?

धन्यवाद।

+0

ठीक है, आप इस के लिए Git जरूरत नहीं है। बस एक सामान्य नेटवर्क ड्राइव का उपयोग करें और अपने सभी डेवलपर्स को वहां से पढ़ने और लिखने दें। मैं इसकी अनुशंसा नहीं करता, क्योंकि आप कई समस्याओं का सामना करेंगे, लेकिन यह संभव है। – Sgoettschkes

उत्तर

7

यह है कि प्रत्येक व्यक्ति को अपने स्वयं के रेपो है बेहतर है।

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

उदा

git clone --bare /path/to/current/cool_project cool_project.git 

अपने नेटवर्क ड्राइव पर cool_project.git ले जाएँ, और कहा कि से क्लोन करने के लिए हर किसी को मिलता है। बेयर रेपो में एक कार्यशील निर्देशिका नहीं है, इसलिए नाम, इसलिए वे धक्का देने के लिए सुरक्षित हैं।

अधिक जानकारी के लिए गिट प्रो बुक - Git on a Server, और विशेष रूप से chapter 4.2 के अध्याय 4 देखें।

+0

हाँ, गॉचा। अच्छा लिंक – Geeb

+0

मुझे लगता है कि मुझे एक नंगे रेपो क्लोन करने के लिए msysgit इंस्टॉल करना होगा, क्योंकि मुझे विंडोज़ का उपयोग करने के लिए मजबूर होना पड़ता है और ईजीआईटी प्लगइन इस सुविधा का समर्थन करने के लिए प्रकट नहीं होता है। – Geeb

3

इसकी आवाज़ से आप नेटवर्क पर गिट रिपॉजिटरी को इंगित करने वाले प्रत्येक उपयोगकर्ता के बारे में बात कर रहे हैं और प्रत्येक डेवलपर के कंप्यूटर पर अलग-अलग गिट रिपोजिटरी नहीं रखते हैं और फिर 'केंद्रीय' भंडार को दबाते हैं। अगर मैं आपके प्रश्न को पढ़ने में सही हूं जो कि गिट के प्रस्ताव का लाभ उठाने का एक शानदार तरीका नहीं है। गिट एक वितरित संस्करण नियंत्रण प्रणाली है, इसलिए हर किसी के पास अपना स्वयं का भंडार होना चाहिए और परिवर्तनों को एक केंद्रीय भंडार में धक्का देना चाहिए जिससे आप अपना सीआई बनाते हैं।

+0

@PITaylor ठीक है, तो आप नेटवर्क ड्राइव से रेपो को अपने स्थानीय ड्राइव में क्लोन करने वाले सभी डेवलपरों में से पहले की सिफारिश करेंगे, फिर इस क्लोन संस्करण को बंद कर दें? – Geeb

+2

गिट का उपयोग करने का कोई अन्य तरीका नहीं है। एक ही रेपो साझा करना एक आपदा होने का इंतजार कर रहा है। –

+0

यह बिल्कुल ठीक है कि आपको यह कैसे करना चाहिए। गिथब ने http://help.github.com/ पर कुछ शानदार ट्यूटोरियल शुरू कर दिए हैं, भले ही आप जिथब का उपयोग नहीं कर रहे हों। – PlTaylor

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