साझा नेटवर्क ड्राइव में परिवर्तन को पुश करें


90

चार लोगों की एक टीम एक साझा नेटवर्क ड्राइव में स्थानीय परिवर्तनों को धकेलने के लिए Git (विशेष रूप से Github for Windows ) का उपयोग कैसे कर सकती है ?

अभी (बिना गिट के) हमें नेटवर्क ड्राइव से फाइलों को अपने स्थानीय मशीन में कॉपी करना है, फाइलों को संपादित करना है, और फिर उन्हें साझा नेटवर्क ड्राइव पर फिर से अपलोड करना है। यह एक श्रमसाध्य प्रक्रिया है जिससे बहुत सारी त्रुटियां हो सकती हैं, लेकिन ऐसा लगता है कि Git हमारी मदद कर सकता है।

क्या हम केवल साझा ड्राइव पर Git स्थापित कर सकते हैं और वहां से जा सकते हैं?

जवाबों:


123

यकीन नहीं होता है कि आपको कुछ ऐसा मिला जो आपके लिए काम करता है या नहीं, लेकिन मेरे पास एक राइटअप है कि विंडोज नेटवर्क पर उस चीज को कैसे करना है:

http://tony.halcyonlane.com/blog/2011/09/22/Using-git-at-work-on-a-Windows-network-drive/

अपने मैप किए गए ड्राइव में एक cmd शीघ्र परिवर्तन से।

$ cd जी:

फिर जीडी रिपॉजिटरी होने के लिए जल्द ही अपने में सीडी।

$ cd स्क्रिप्ट

फिर एक खाली गिट रिपॉजिटरी बनाएं। यदि आप --bare विकल्प का उपयोग नहीं करते हैं, तो आपके पास समस्याएँ होंगी इसलिए इसे बाहर न छोड़ें।

$ git init --bare

अब यदि आपके पास अभी तक स्थानीय गिट रिपॉजिटरी नहीं है, तो आप अपने स्थानीय ड्राइव पर वापस नेविगेट करके अपनी नई रिपॉजिटरी को जहां चाहें पसंद कर सकते हैं।

$ c:

$ cd काम / स्क्रिप्ट

$ git क्लोन फाइल: // g: \ script

जब आप क्लोन करते हैं, तो आपको स्वचालित रूप से "मूल" नामक एक रिमोट मिलता है और आप किसी भी समय स्थानीय स्तर पर परिवर्तन करने के लिए सर्वर को सुरक्षित रखने के लिए धक्का दे सकते हैं।

$ गिट धक्का मूल गुरु

यदि आपके पास पहले से ही गिट रिपॉजिटरी है और आप केवल साझा ड्राइव पर बाहर जाना चाहते हैं तो आप अपने स्थानीय git dir के भीतर से ऐसा कर सकते हैं।

$ git रिमोट मूल फ़ाइल जोड़ें: // g: \ script

$ गिट धक्का मूल गुरु


1
धन्यवाद - मैंने अपने घर के नेटवर्क पर एक व्यक्तिगत परियोजना के लिए ऐसा किया।
मार्टिन स्नाइडर

मैंने इन चरणों का पालन किया, लेकिन जब मैं git पुश
ओरिजिनल

धन्यवाद। इस उत्तर को खोजने के लिए एक लंबा समय लिया
सिमोन हकेट

जिस किसी के पास अपना साझा ड्राइव मैप नहीं है, वहां नेविगेट करने के लिए एक
पुश

यदि आप --bare का उपयोग नहीं करते हैं तो आपको क्या समस्याएँ होंगी? मेरे पास पहले से ही नेटवर्क ड्राइव पर एक नंगे नंगे भंडार है और इसे रिमोट के रूप में उपयोग करना चाहते हैं।
19

24

हमारी टीम वर्तमान में ठीक यही करती है। प्रत्येक डेवलपर के पास निम्नलिखित हैं:

  1. उनके स्थानीय मशीन पर Git स्थापित किया गया
  2. उनकी अपनी निजी साझा ड्राइव तक पहुँच ( L:)
  3. साझा समूह ड्राइव तक पहुंच ( V:)

हमारे पास ड्राइव init -bareपर "रिमोट" रिपॉजिटरी (सेट अप का उपयोग ) है V:, और हर किसी के पास अपने व्यक्तिगत L:ड्राइव पर एक क्लोन है । सभी परिवर्तन L:ड्राइव में किए जाते हैं और ड्राइव पर धकेल दिए V:जाते हैं, जिन्हें बाद में अन्य डेवलपर्स द्वारा अपने संबंधित निजी रिपॉजिटरी में L:ड्राइव पर ले जाया जाता है। यह बिना किसी समस्या के काम करता है, और Git सर्वर की आवश्यकता को कम करता है।


ठीक है बढ़िया! क्या मुझे पहले एक स्थानीय रेपो बनाने की आवश्यकता है, और फिर साझा ड्राइव पर उस रेपो का एक रिमोट सेट करें?
user1549303

1
@ user1549303 - यही हम इसे करते हैं। आप स्थानीय रेपो (हमारे L:ड्राइव रेपो) का उपयोग करके बना सकते हैं git init, और फिर रिमोट (हमारी v:ड्राइव एक) का उपयोग करके git clone --bare(या एक git init --bare, और फिर एक धक्का L:) बना सकते हैं।
पलक झूल

@eykanal - मेरी टीम वर्तमान में एक प्राचीन, भयानक स्रोत नियंत्रण पुस्तकालय का उपयोग करती है और हम गिट में स्विच करना चाह रहे हैं। एक चीज़ जो हमारी वर्तमान लाइब्रेरी मुझे करने देती है वह यह है कि किसने एक फ़ाइल की जाँच की है लेकिन परिवर्तनों में जाँच करना भूल गया है। गिट के साथ, सभी रिपॉजिटरी स्थानीय हैं, इसलिए आप कैसे जान सकते हैं कि कोई व्यक्ति "वी:" पर पुश करना भूल गया है?
केविन बुकान

3
@ केविनबचन - मेरा सुझाव है कि आप अपनी टिप्पणी एक नए प्रश्न के रूप में दें।
पलक जूल

1
जब दो डेवलपर्स एक ही साझा रिपॉजिटरी (एक ही समय में V :) कहते हैं, तो Git प्रतिक्रिया देता है? क्या आपको समवर्ती पुश संचालन में कोई समस्या है?
जॉर्डन

2

आप अपने नेटवर्क ड्राइव में एक और रिमोट पॉइंटिंग जोड़ सकते हैं (गिट रिमोट)

फिर आप जीथब के साथ जो कर सकते हैं, उसके समान खींच सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.