2012-07-24 11 views
60

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

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

क्या हम बस साझा ड्राइव पर गिट इंस्टॉल कर सकते हैं और वहां से जा सकते हैं?

उत्तर

20

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

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

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

+0

ठीक है, बढ़िया! क्या मुझे पहले स्थानीय रेपो बनाने की ज़रूरत है, और उसके बाद साझा ड्राइव पर उस रेपो का रिमोट सेट अप करना है? – user1549303

+1

@ user1549303 - इस तरह हम इसे करते हैं। आप 'git init' का उपयोग करके स्थानीय रेपो (हमारे' एल: 'ड्राइव रेपो) बना सकते हैं, और उसके बाद रिमोट (हमारे' v: 'drive one) को 'गिट क्लोन - बेयर' (या 'गिट इनिट - -बारे ', और फिर' एल: 'से एक धक्का)। – eykanal

+0

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

1

आप अपने नेटवर्क ड्राइव (git remote)

तो फिर तुम धक्का कर सकते हैं कि तुम क्या अगर आप कुछ है कि आप के लिए नहीं काम करता है या पाया

78

सुनिश्चित नहीं हैं कि GitHub से कोई लेना देना समान खींचने के लिए एक और दूरस्थ इशारा जोड़ सकते हैं, लेकिन मैं अपने मैप की ड्राइव पर

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

एक cmd शीघ्र परिवर्तन से: कैसे एक खिड़कियों नेटवर्क ड्राइव पर है कि बहुत कुछ करने की पर एक writeup है।

$ cd g:

फिर सीडी आपके गिट भंडार के लिए जल्द ही।

$ cd scripts

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

$ git init --bare

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

$ c:

$ cd work/scripts

$ git clone file://g:\scripts

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

$ git push origin master

आप पहले से ही एक Git भंडार है और अभी साझा की ड्राइव के लिए बाहर पुश करने के लिए तो आप अपने स्थानीय Git निर्देशिका के भीतर से ऐसा कर सकते हैं चाहते हैं।

$ git remote add origin file://g:\scripts

$ git push origin master

+0

धन्यवाद - मैंने यह मेरे घर नेटवर्क पर एक निजी परियोजना के लिए बिल्कुल किया था। –

+0

मैंने इन चरणों का पालन किया लेकिन जब मैं गिट पुश मूल मास्टर त्रुटि चलाता हूं तो निम्न त्रुटियां प्राप्त करें: स्पॉन नहीं कर सकता: ऐसी कोई फ़ाइल या निर्देशिका घातक: फोर्क – NickStees

+0

फोर्क करने में असमर्थ। इस उत्तर को खोजने के लिए काफी समय लगा –

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