अकेले काम करते समय और छोटी परियोजनाओं के साथ किसी प्रकार के संस्करण नियंत्रण का उपयोग करना?


30

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

  • मुझे अब स्थानीय बैकअप के लिए परवाह नहीं है
  • गलतियाँ आसानी से पूर्ववत की जा सकती हैं
  • इतिहास को बनाए रखा जा सकता है

लेकिन दूसरी ओर इसमें कुछ कमियां भी हैं जैसे उदाहरण के लिए:

  • अतिरिक्त संसाधनों की आवश्यकता है
  • सेटअप करने का समय, इसकी आदत डालें, आदि।

आपके अनुभव से, क्या आपके कामकाज के दौरान संशोधन नियंत्रण का उपयोग करना अच्छी बात है?


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

जवाबों:


46

हाँ।

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

अब नकारात्मक बिंदु क्या है ...

1) अतिरिक्त संसाधनों की आवश्यकता

केवल संसाधन आवश्यक डिस्क स्थान है। चूंकि यह आपके कुल कोड का एक छोटा प्रतिशत ( Xit से छोटा ) है, मुझे नहीं लगता कि यह कोई मुद्दा होगा। यह किसी भी पैसे खर्च नहीं करता है।

2) सेटअप करने का समय, इसकी आदत डालें, आदि।

इसे सीखने के लिए समय की आवश्यकता होगी, लेकिन इनमें से प्रत्येक के लिए केवल कुछ ही घंटे हैं (जैसा कि ऊपर उल्लेख किया गया है)। लंबी अवधि के लिए, यह आपके लिए अनंत समय (और इतना अधिक) बचाने की क्षमता रखता है। एक बार जब आप वीसीएस की बुनियादी बातों में महारत हासिल कर लेते हैं, तो आपके पास स्थानीय बैकअप को ध्यान में रखते हुए प्रदर्शन करना बहुत कम होगा।


5
+1: बहुत अच्छे अंक। हालांकि, मैं svn की सिफारिश नहीं करूंगा: यह इंटरनेट से कनेक्ट नहीं होने पर बदलाव करने की अनुमति नहीं देता है, जो कई बार एक मजबूत बाधा हो सकती है। मैं Git (पावर उपयोगकर्ताओं के लिए) या Mercurial (एक सरल सिस्टम के लिए) की सिफारिश करूंगा।
एरिक ओ लेबिगॉट

7
मर्कुरियल को एक और वोट।
क्रिस होम्स

4
@ ईओएल, सबवर्सन इस मामले में व्यवहार्य है। यदि रिपॉजिटरी स्थानीय है तो कमिट बनाने के लिए इंटरनेट कनेक्शन की आवश्यकता नहीं है। (हालांकि मैं सुझाव दूंगा कि रिपॉजिटरी को कम से कम डेवलपमेंट ड्राइव से अलग ड्राइव पर रहने की जरूरत है।)
केन हेंडरसन

1
@ ईओएल: आह हां, मैं मर्क्यूरियल को शामिल करना भूल गया क्योंकि मैंने इसे पहले इस्तेमाल नहीं किया है; अब संपादित करेंगे। जबकि (Git का उपयोग करने के बाद) मैं SVN को नहीं छूता अगर मुझे होता, SVN अभी भी व्यापक रूप से उपयोग किया जाता है।
जोनाथन खो

1
ड्रॉपबॉक्स में एक स्थानीय रेपो के साथ @ken svn एक एकल उपयोगकर्ता के लिए आदर्श है
मार्टिन बेकेट

13

हाँ। इसका उपयोग हर चीज के लिए करें। वर्ड में आपके द्वारा लिखे गए प्रत्येक दस्तावेज़ के लिए इसका उपयोग करें। आपके द्वारा लिखे गए सभी कोड के लिए इसका उपयोग करें। आपके द्वारा बनाई गई प्रत्येक छवि के लिए इसका उपयोग करें।

इसके अलावा, एक बार जब आप इसका उपयोग करना सीख जाते हैं, तो जब आप टीम के माहौल में काम करते हैं, तो आप बेहतर होंगे।


4
Word के साथ एकमात्र समस्या यह है कि यह द्विआधारी प्रारूप में है, इसलिए आप ऐसा नहीं कर सकते diff; LaTeX का उपयोग करने का एक और कारण।
गाब्लिन

छवियों के साथ इसका उपयोग करने की बात क्या होगी?
रूक

उदाहरण के लिए WinMerge में वर्ड और एक्सेल डॉक्यूमेंट्स को अलग किया जा सकता है
सिमोन

2
@Rook: छवियों के साथ इसका उपयोग करने की बात यह है कि यदि आप एक छवि को संपादित करते हैं, तो आपको हमेशा पुराने संस्करण पर वापस जा सकते हैं यदि आपको आवश्यकता है।
एलेक्स डी।

9

मुझे अकेले काम करते समय Git का उपयोग करना बहुत पसंद है। उदाहरण के लिए, जब PHP में काम करते हैं, तो मैं अपने स्थानीय निर्देशिका पर एक Git रिपॉजिटरी बनाता हूं जो Apache सेवारत है। मैं आसानी से एक नई सुविधा (एक शाखा में) पर काम करना शुरू कर सकता हूं और इसे अपने स्थानीय मशीन पर परीक्षण कर सकता हूं। फिर, अगर कुछ आता है और मुझे "आपातकालीन सुधार" करने की आवश्यकता है, तो यह एक सरल है:

git checkout master

देखा! मेरी कार्यशील निर्देशिका उस स्थिति में वापस आ गई है जब वह मेरी शाखा से पहले थी। मैं जल्दी ठीक कर सकता हूं। जब मैं पूरा हो जाता हूं, मैं शाखा में वापस जा सकता हूं और विकास कर सकता हूं।

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


GitHub या Gist के साथ Git एकल परियोजनाओं के लिए प्रयास के लायक है। वे आपको अपने आप से बचाते हैं और जब आप दूसरों को शामिल करने के लिए तैयार होते हैं तो सहायता प्राप्त करना वास्तव में आसान बनाते हैं।
रोब एलन

5

स्रोत को अव्यवस्थित किए बिना, चेंजलॉग आपको अपने परिवर्तनों को दस्तावेज़ करने के लिए एक अच्छी जगह देता है।


2

SourceRepo जैसी किसी चीज़ के लिए होस्ट करें। बहुत महंगा नहीं है, लेकिन स्रोत नियंत्रण का उपयोग करना गलतियों को कम करना और कोड को इतना आसान बनाना है।

और आप इसे कहीं भी उपयोग कर सकते हैं यदि आपको आवश्यकता है।


4
आप बाहरी सर्वर पर कंपनी की संपत्ति अपलोड करने से सावधान रहना चाहते हैं। यह कुछ कंपनियों के साथ ठीक हो सकता है, लेकिन अन्य लोग इस पर विचार करेंगे।
davidhaskins

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

2

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


2

यदि आप बंद स्रोत के लिए मुफ्त और समर्थन की तलाश कर रहे हैं, तो मैं विज़ुअल स्टूडियो ऑनलाइन पर एक अच्छा नज़र डालूंगा। यह 5 देवों के लिए मुफ्त है, और अपने आप से ... अच्छी तरह से ... हाँ। यह 4 साल बाद की पोस्ट है इसलिए आप स्थिति बदल गए हैं, लेकिन आसान स्रोत नियंत्रण की तलाश में अन्य व्यक्तिगत देवों के लिए VSO मेरे पसंदीदा विकल्पों में से एक है अगर मैं अपने स्रोत कोड को उजागर नहीं करना चाहता हूं। IIRC Github केवल ओपन सोर्स सामान के लिए स्वतंत्र है, लेकिन उनकी कीमत बहुत सस्ती है। VSO और Github दोनों ही विजुअल स्टूडियो के साथ बहुत अच्छी तरह से एकीकृत होते हैं, अगर ऐसा होता है तो यह आपकी पसंद का IDE है।


और VSO अब Git का समर्थन करता है! अलविदा क्लूनी पुराने TFVC!
रबडकॉक

1

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


1

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

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