वहाँ एक एकल डेवलपर के लिए एक DVCS का उपयोग करने के लिए फायदे हैं?


19

अभी, मैं अपने सर्वर पर दृश्य svn का उपयोग करता हूं, और मेरे व्यक्तिगत मशीन पर akhsvn / कछुआ है। यह पर्याप्त रूप से ठीक काम करता है, और मुझे बदलना नहीं है, लेकिन अगर मुझे डीवीसीएस का उपयोग करने के कुछ लाभ दिखाई दे सकते हैं, तो मैं इसे दे सकता हूं।

हालांकि, अगर अन्य लोगों के बिना इसका कोई मतलब या अंतर नहीं है, तो मैं परेशान नहीं करूंगा।

तो फिर, मैं पूछता हूँ, क्या आप केवल डेवलपर होने पर DVCS का उपयोग करने के लिए कोई लाभ हैं?


1
स्टैकओवरफ़्लो पर समान पोस्ट देखें: stackoverflow.com/questions/179161/… । आपको जो कुछ भी जानने की ज़रूरत है, वह वहाँ अच्छी तरह से अभिव्यक्त किया गया है।
ysolik

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

1
बैकअप अनिवार्य रूप से सिर्फ एक क्लोन है। वह किसी दिन बहुत महत्वपूर्ण हो सकता है। इसके अलावा git टूलींग svn के आगे हल्की है।

क्या आप कभी अपने सर्वर से दूर, लैपटॉप पर काम करते हैं?
JBRWilkinson

जवाबों:


19

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

मुझे लगता है कि Git द्वारा रिपॉजिटिंग, ग्रेपिंग लॉग आदि को देखने के लिए दिए गए उपकरण SVN की तुलना में बहुत बेहतर हैं, (हालांकि यह एक DVCS के लिए विशिष्ट से अधिक Git चीज है)।

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

मैंने लगभग चार साल पहले Git का उपयोग करना शुरू कर दिया था, थोड़ी देर के लिए SVN का उपयोग करने के बाद, और मैंने पीछे मुड़कर नहीं देखा।



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

3
डीवीसीएस विशेष रूप से बराबर नहीं है
मर्फ़

6
@ रीचर्ड लेकिन गलत है, केंद्रीकृत उपकरण में एक रैखिक इतिहास है जो जटिल मर्ज का समर्थन नहीं करता है।
वैकल्पिक

2
@ मर्फ़: यह सच है, लेकिन मैं गिट का उपयोग करता हूं, इसलिए मैंने इसे अपने उदाहरण में इस्तेमाल किया।
मियादी

7

मैं अपने निजी सामान के लिए एक DVCS का बहुत उपयोग करता हूं। (मैं उन लोगों में से एक हूं जो $ git में घर पर हैं ।) कई फायदे हैं:

  • यह वास्तव में आसान मेरे लैपटॉप और डेस्कटॉप और लैब कंप्यूटर के बीच प्रतिकृति बनाता है। हालांकि यह SVN का भी सच था ...
  • जब मैं इंटरनेट का उपयोग नहीं करता, तब भी मैं लैपटॉप पर कमिट कर सकता हूं।
  • बैकअप एक के रूप में सरल हैं git pull
  • मैं git citoolतार्किक रूप से आकार परिवर्तन में बहुत सारे बदलावों का उपयोग कर सकता हूं , भले ही मैंने प्रतिबद्ध होने से पहले बहुत सारे असंबंधित परिवर्तन किए हों। मैं तोड़फोड़ में ऐसा करने के लिए एक उपकरण के बारे में पता नहीं कर रहा हूँ।
  • जब मुझे एक ओपन सोर्स प्रोजेक्ट को पैच करना होता है, तो प्रोजेक्ट डायरेक्टरी में एक नया गिट रिपॉजिटरी बनाकर चीजों को व्यवस्थित रखना ज्यादा आसान होता है, क्योंकि मैं जिस भी सोर्स ट्री को पैच कर रहा हूं, उसकी दूसरी कॉपी बनाना है। (आप इसे आसानी से तोड़फोड़ के साथ नहीं कर सकते क्योंकि आपको अपनी हार्ड डिस्क पर कहीं और एक अलग भंडार की आवश्यकता है।)
  • मैं अन्य लोगों से मिलने वाले संशोधनों में जाँच करने के लिए आसान शाखाओं में बँटवारे का उपयोग करता हूँ। उदाहरण के लिए, जब मैं अपने सलाहकार के साथ एक सम्मेलन पत्र संपादित करता हूं, भले ही उसके पास रिपॉजिटरी तक पहुंच न हो, मैं उसे कागज की एक प्रति भेज सकता हूं, और मेरे द्वारा भेजे गए संस्करण के आधार पर एक शाखा में उसके संशोधन में जांच कर सकता हूं। उसे, और फिर git mergeकुछ समय में मैंने जो कुछ भी किया है उसके साथ अपने संशोधनों को मर्ज करने के लिए उपयोग करता हूं।

Git ने मुझे तार्किक चंक्स में मेरे सभी परिवर्तनों के बारे में सोचने की आदत डाल दी, जो कि तोड़फोड़ से कहीं अधिक था।


(या आईने के लिए

5

जब नींद आने में बहुत देर हो जाती है तो मेरी माँ मॉडम बंद कर देती है। मॉडेम बंद होने के बाद डीवीसी मुझे वीसीएस के साथ काम करना जारी रखने की अनुमति देता है।


1
मैं इसे "प्लेन से काम करने में सक्षम होना" या "बिटबक्यूट डॉट कॉम के डाउन होने पर काम करने में सक्षम होना" के रूप में समाप्त करूंगा, लेकिन ऑफ़लाइन केस को कवर करने के लिए +1।
व्याट बार्नेट

3 जी नेटवर्क के बिना बाहरी स्थान भी।
अलंकृत

3

ठीक है, डिफ़ॉल्ट उत्तर होगा, "यदि (अब आप जो भी उपयोग कर रहे हैं) आपके लिए काम करता है, तो आप क्यों बदलेंगे?"।

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

  • उपयोग करने के लिए वास्तव में आसान है - मुझे एक या एक घंटे में सभी आदेशों की आवश्यकता है
  • सब कुछ स्थानीय है (आपको ऑनलाइन होने के लिए दूरस्थ सर्वर की आवश्यकता नहीं है)
  • बहुत आसान ब्रांचिंग / मर्जिंग - आप अब उन चीजों के बारे में भी नहीं सोचते हैं
  • आसान क्लोनिंग (यह भी, एक प्रकार की शाखा) - और आम तौर पर, एक बहुत अधिक उपयोगकर्ता के अनुकूल इंटरफेस (मैंने इसे विंडोज़ पर गिट की तुलना में अधिक सुखद पाया; कुछ अवधारणाएं भी सरल हैं; अर्थात मेरे पक्ष में सोचने की आवश्यकता नहीं है, इसलिए अग्रणी है) वी.एस. के साथ कम फिडिंग और अधिक काम)
  • svn के साथ अच्छा काम करता है

जंपिंग गेट टू मर्क्यूरियल और एक ब्लॉग (सुंदर रंग ;-) उपयोगी टिप्स के साथ


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

3
SVN से Mercurial में स्विच करना मेरे लिए एक रहस्योद्घाटन था। यह जोएल के अद्भुत hginit.com से प्रेरित था, और मैंने कभी पीछे मुड़कर नहीं देखा।
एडम क्रॉसलैंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.