version control क्या एक डीवीसी एक डेवलपर के लिए उपयोगी है?




version-control dvcs (6)

एक एकल डेवलपर के लिए, प्रत्येक VCS करेंगे मैं एक चुनना चाहता हूं, जो सेटअप के लिए आसान है और बिल्कुल भी कॉन्फ़िग नहीं है। मैं व्यक्तिगत तौर पर मोनोटोन की तरह यह सबसे पहले में से एक था और मैं अभी भी सबसे बेहतरीन लोगों में से एक है।

दरअसल, सबसे ज्यादा मजेदार मुझे डैर का इस्तेमाल करते समय था, लेकिन यह एक बदसूरत भाषा (हास्केल) में लिखा गया था और स्रोत से मैक ओएस एक्स पर इसे बनाने में वास्तव में काफी दर्द था।

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

https://code.i-harness.com

या क्या एक पारंपरिक क्लाइंट-सर्वर वीसीएस अधिक उपयुक्त होगा? मैं वर्तमान में TortoiseSVN का उपयोग कर रहा हूं, लेकिन मुझे एक DVCS में दिलचस्पी है, लेकिन मुझे यकीन नहीं है कि क्या यह एक अच्छा विचार है जैसे कि एक अकेले प्रयोग करने का प्रयास करना


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


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


हाँ। एक डीवीसीएस मेरी राय में, पारंपरिक सर्वर-आधारित सिस्टम की तुलना में एकल विकास के लिए भी बेहतर अनुकूल है। जब एक एकल डेवलपर है, तो बहुत सारी सर्वर-आधारित सिस्टम की विशेषताएं केवल अनावश्यक जटिलताएं हैं

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


मैं एक वितरित एक के साथ जाने की गंभीरता से सिफारिश करता हूं विंडोज़ पर, मैं मर्कुरियल चुना और इसके साथ बहुत खुश किया गया है

बिग पेशेवरों:

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

विपक्ष:

  • (कुछ के लिए) GUI उपकरण नहीं हैं
  • संभवतः आपको विभिन्न स्रोत खज़ाने से कनेक्ट करने के लिए अभी भी एसवीएन की आवश्यकता होगी। उदाहरण के लिए दो प्रणालियों का उपयोग करने की आवश्यकता है

हाँ। दो मुख्य कारण हैं जो मैंने अपनी खुद की शौक परियोजनाओं के लिए डीवीसीएस (गीट और मर्कूरियल) में बदल दिया था। सबसे पहले बैकअप रखने का मुद्दा है और दूसरा यह है कि मैं बहुत कुछ के आसपास यात्रा करता हूं और कई भौगोलिक दृष्टि से अलग कंप्यूटरों का उपयोग करता हूं।

त्वरित और आसान बैकअप

मैं कम से कम दो भंडार क्लोनों के साथ काम करता हूं एक स्पष्ट स्थानीय एक है जो मेरे कार्यक्षेत्र के साथ है, दूसरा मेरा एक फ़ाइल सर्वर (या ऑनलाइन रिपॉजिटरी जैसे कि गिथूब या बिटबकेट ) को रखता है, जब भी मैं स्थानीय रूप से सामग्री के साथ समाप्त हो जाता हूं, तब भी मैं डंप कर दूँगा। बैकअप बनाना रिपॉजिटरी सिंक्रनाइज़ करने के रूप में सरल है, दूसरे शब्दों में अपस्ट्रीम परिवर्तनों को आगे बढ़ाते हुए।

विभिन्न स्थानों या कंप्यूटरों पर काम करें

संभवतः ऐसा कुछ ऐसा है जो डेवलपर के लिए शौक प्रोजेक्ट्स के लिए कम सामान्य परिदृश्य है क्योंकि मैं आसपास यात्रा करता हूं। घर पर अपने कम्प्यूटर के अलावा मैं कभी-कभी अपने माता-पिता के साथ रहना होता है, जहां मैं अपने पुराने कंप्यूटर को रखता हूं (जो फैशन प्रोग्रामिंग के लिए फैशन के लिए काफी तेज है)। जब भी मुझे नई सुविधाओं की हैकिंग की तरह लग रहा है, मैं इसे उस कंप्यूटर पर कर सकता हूं और फिर बस रिपॉजिटरी सिंक्रनाइज़ कर सकता हूं, जब मैं घर वापस आऊं, तब उन परिवर्तनों को प्राप्त होगा।

आसान शाखाएं / विलय

यह कोई रहस्य नहीं है कि डीवीसीएस काफी स्वचालित रूप से ब्रांचिंग / मर्जिंग का प्रबंधन करता है संघर्षों में विलय करें, लेकिन एक केंद्रीकृत संस्करण नियंत्रण उपकरणों में भी बिना, उदा। उपवर्तन, वास्तव में सरल परिदृश्यों में भी विलय करने में बहुत मदद नहीं करता है हालांकि मैं इस सुविधा का उपयोग नहीं करते हैं, जो कि निजी परियोजनाओं के लिए अक्सर कुछ डेवलपर करते हैं।

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





dvcs