2011-02-15 14 views
7

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

स्प्रिंगलोप्स की अपील यह थी कि हर बार कोई बदलाव करता है, तो परिवर्तन स्वचालित रूप से dev सर्वर पर FTP होगा। फिर सिर्फ एक व्यक्ति देव को उत्पादन में ले जाने का प्रभारी होता है।

उत्तर

10

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

मर्ज अनुरोध भेजने से पहले डेवलपर्स का पालन करने के लिए एक संभावित अच्छी नीति है कि उन्हें मास्टर से खींचें और सुनिश्चित करें कि कोई संघर्ष नहीं है।

यदि आप वास्तव में एक खाते का उपयोग करना चाहते हैं, तो आपको एक ही कुंजी साझा करने की आवश्यकता नहीं है। जिथब आपको जितनी चाहें उतनी चाबियाँ अपलोड करने की अनुमति देता है। हालांकि, अगर आप ऐसा कुछ चाहते हैं जो एसवीएन की तरह काम करता है तो आपको एसवीएन का उपयोग करना चाहिए क्योंकि गिट को उसी वर्कफ़्लो को एसवीएन के रूप में पालन करने के लिए डिज़ाइन नहीं किया गया है।

+7

शायद * जिथब * को डेवलपर प्रति रेपो होने के लिए डिज़ाइन किया गया है, लेकिन गिट स्वयं को किसी भी रेपो को अनुमति देने के लिए अनुमति देने के लिए बहुत खुश है। मुझे नहीं लगता कि आप क्यों कह रहे हैं कि यह एक एसवीएन वर्कफ़्लो है - एक कैननिकल केंद्रीय भंडार होना काफी आम है कि कई भरोसेमंद लोग पहुंच सकते हैं। – Cascabel

+0

ऐसा करने पर मुख्य मुद्दा यह है कि हम इस बारे में निश्चित नहीं हैं कि यह कैसे स्थापित किया गया है। उदाहरण के लिए, मैं अपने लैपटॉप और डेस्कटॉप के साथ यहां बैठा हूं और दोनों पर विकास करना चाहता हूं और केंद्रीय रेपो से पुश करना चाहता हूं। क्या प्रत्येक मशीन को एक अलग खाते और कुंजी के सेट की आवश्यकता होती है? –

+2

एक गिथब खाता प्रति व्यक्ति उपयोग किया जाता है, प्रति मशीन नहीं, इसलिए आपको अपने लैपटॉप और डेस्कटॉप के लिए एक अलग खाते की आवश्यकता नहीं है। आप या तो दोनों पर एक ही कुंजी का उपयोग कर सकते हैं या अपने github खाते में एकाधिक कुंजी जोड़ सकते हैं। यदि आप एकाधिक लोगों के लिए एक ही खाते का उपयोग करने का प्रयास करते हैं, तो यदि आपके पास ठोस वर्कफ़्लो नहीं है तो यह गन्दा हो सकता है। विशेष रूप से यदि एकाधिक लोग एक ही समय में एक ही शाखाओं को प्रतिबद्ध करने और धक्का देने का प्रयास करते हैं, तो आपका इतिहास अनावश्यक मर्ज कामों से भरा जा सकता है। – Arrowmaster

0

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

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

(आप भी इस कई शाखाओं के साथ एक भंडार पर कर सकते हैं, और आप भी पैच सेट के आसपास भेजने के माध्यम से विचार-विमर्श कर सकते हैं, यह क्या आसान है की सिर्फ बात है।)

7

दो मुख्य वर्कफ़्लो हैं। दोनों मान प्रत्येक डेवलपर एक GitHub खाता है जो स्वतंत्र और समझदार है की स्थापना की है:

  1. आपका मुख्य भंडार करने के लिए सहयोगियों के रूप में अन्य डेवलपर्स जोड़ें ताकि वे इसे करने के लिए अपने परिवर्तन धक्का कर सकते हैं।
  2. अन्य डेवलपर्स अपने भंडार और इस मुद्दे को पुल अनुरोध कांटा बदलता है

सहयोगी बेहतर हैं यदि आप के एक समूह बना रहे हैं या एक सॉफ्टवेयर उत्पाद बनाए रखने के एकीकृत करने के लिए करते हैं। जिथब पर परियोजना के लिए एक भंडार है और प्रत्येक डेवलपर के पास उनके विकास कार्यों के लिए स्थानीय भंडार होगा।

फोर्किंग उपयोगी है यदि अन्य टीम या डेवलपर्स आपके उत्पाद के अपने संस्करण का उपयोग कर रहे हैं। यह उन्हें आपके उत्पाद को बढ़ाने के लिए अपने परिवर्तनों की पेशकश करने के लिए एक तरीका (पुल अनुरोध) देता है। प्रत्येक कांटा आमतौर पर आपके प्रोजेक्ट के एक विशिष्ट व्यवहार्य रूप के रूप में माना जाता है।

फोर्किंग एक ओपन सोर्स पर्यावरण में उपयोगी भी है, जबकि आप एक संभावित सहयोगी 'विश्वास करने के लिए आ रहे हैं'। यदि आप नियमित रूप से अपने पुल अनुरोधों को स्वीकार करते हैं, तो आप उन्हें सहयोगी बनने के लिए 'प्रचार' कर सकते हैं।

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

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