एक छोटी सी टीम में सही ढंग से गिट का उपयोग करना


14

लाइव एप्लिकेशन चलाने वाले एक सर्वर के साथ लगभग 5 डेवलपर्स की छोटी टीम में सही तरीके से गिट का उपयोग करने का सबसे आसान तरीका क्या होगा?


5
मैं इस मामले में git का उपयोग करने पर सवाल उठाऊंगा। विकेंद्रीकृत स्रोत नियंत्रण का उपयोग करने का कोई फायदा नहीं है, जब आपके पास एक समर्पित सर्वर वाले एक कमरे में सभी लोग हैं। और कमिट के शीर्ष पर खींचने / धकेलने का ओवरहेड अभी भी है।
व्यंग्यात्मक

10
@ ऊर्जा आपके टूलिंग और वर्कफ़्लो पर निर्भर करती है।

3
@ONOZ कृपया अधिक विस्तार से काम करने के अपने वर्तमान तरीके का वर्णन करें।

22
@ यूफोरिक - एक अविश्वसनीय रूप से संकीर्ण सोच वाला रवैया। शाखाकरण और अकेले विलय की आसानी के लिए gitया hgअधिकांश केंद्रीकृत वीसीएस को धड़कता है। मैं समझ सकता हूं कि लोगों को लगातार परेशान कर रहे हैं कि डीवीसी कितने महान हैं, लेकिन अपने सिर को रेत में दफनाने और यह मानने से इनकार करते हुए कि आप डीवीसीएस के साथ अलग-अलग और संभवतः अधिक कुशल वर्कफ़्लो विकसित कर सकते हैं, बिना किसी का बुरा हाल है।
मार्क बूथ

8
@ कुशल, Git का उपयोग करने का मतलब यह नहीं है कि आपका स्रोत नियंत्रण "विकेंद्रीकृत" है। मैं एक छोटी टीम में काम करता हूं, और हम गिट का उपयोग करते हैं, और हमारे पास अभी भी एक केंद्रीय भंडार है। यही आप को धक्का है। डीवीसीएस का उपयोग करने का मतलब यह नहीं है कि हर व्यक्ति हर दूसरे व्यक्ति से कोई केंद्रीय बिंदु नहीं खींच रहा है।
क्युरेलसा

जवाबों:


11

मैं आपको कुछ शाखा बनाने का सुझाव देता हूं:

  • उत्पादन
  • गुरुजी
  • स्थानीय

उत्पादन शाखा "लाइव" शाखा है। क्या अभी एप्लिकेशन उपयोग में है?

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


यदि आप किसी परामर्श या उद्यम की स्थिति में हैं, तो आप UAT के लिए एक शाखा भी रख सकते हैं।
जॉन मैकइंटायर

सहमत हूं, मैं इस कार्य प्रवाह का उपयोग कर रहा हूं।
Cheung

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

1
क्योंकि स्थानीय शाखा को XXX-फीचर-नाम के रूप में नामित किया जा सकता है, इस प्रकार, आपके पास उत्पादन में वांछित सभी सुविधा शाखा के विलय के रूप में मास्टर शाखा है। हां: क्योंकि कुछ सुविधा शामिल नहीं हो सकती है।
सेंसररियो

7

जब आप की आवश्यकता हो तब सरल शुरू करें और अधिक जटिल वर्कफ़्लो का निर्माण करें।

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

मैं आपको सुझाव दूंगा कि आप एक केंद्रीय gitभंडार से शुरुआत करें और आपके उत्पादन और परीक्षण सहित हर किसी के पास क्लोन है।

आपके गिट भंडार के भीतर, एक productionशाखा और एक testशाखा बनाएं ।

डेवलपर्स को अपने स्वयं के स्थानीय या दूरस्थ सुविधा शाखाओं में काम करना चाहिए जब तक कि वे पूर्ण और विलय नहीं हो जाते master। यहां से उन्हें testपरीक्षण वातावरण में तैनाती के लिए शाखा में विलय किया जा सकता है और जब वे परीक्षण पास करते हैं तो उन्हें productionशाखा में विलय किया जा सकता है ।

इस तरह आप हमेशा देख सकते हैं कि क्या नया है और क्या नहीं, क्या परीक्षण किया गया है लेकिन अभी तक उत्पादन में तैनात नहीं किया गया है और वास्तव में उत्पादन में क्या है।


दिलचस्प राय, मैं विचार करेगा Git शाखाओं में मॉडल Git के लिए एक सौदा ब्रेकर होने के लिए, दूसरे हाथ पर यह इतना गैर Git उपयोगकर्ताओं के लिए स्पष्ट नहीं हो सकता है।

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

में तुम्हारी बात समझ रहा हूँ। बस मेरे लिए, मैंने AsGbm के साथ शुरुआत की (या बल्कि इसे अपनी आवश्यकताओं के लिए अनुकूलित किया)। यह एकदम सही था क्योंकि मैं देख सकता था कि svn की तुलना में git का अलग-अलग तरह से कैसे इस्तेमाल किया जा सकता है
wirbel

7

हमें एक समान स्थिति मिली है - हमारे पास दर्जनों वेब ऐप हैं जिनमें से एक भी नहीं है। हम पिछले एक साल से सफल Git ब्रांचिंग मॉडल का उपयोग कर रहे हैं या कोई महत्वपूर्ण शिकायत नहीं है।


मैंने पिछले कुछ वर्षों में ब्रांचिंग मॉडल बनाने के लिए भी इसका उपयोग किया है। यह एक शानदार मॉडल है।
जॉन मैकइंटायर

लिंक के लिए अंगूठे
राहुल गौतम

0

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


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