2009-05-01 19 views
13

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

मैं क्या करूँ?

यह सब घर में होगा। कोड संग्रह करने के लिए कोई इंटरनेट नहीं।

मुझे यह भी नहीं पता कि मैं जो पूछ रहा हूं उसे स्रोत नियंत्रण कहा जाता है। मैं जांच, एसवीएन, स्रोत नियंत्रण, आदि के बारे में चीजें देखता हूं। मुझे नहीं पता कि यह सब एक ही चीज़ के बारे में बात कर रहा है या नहीं। मैं कुछ ओपन सोर्स का उपयोग करने की उम्मीद कर रहा था।

Source Control HOWTO

+6

स्रोत नियंत्रण एक डेवलपर परियोजनाओं के लिए भी बहुत उपयोगी है - एक बार जब आप इसे जान लेंगे तो आप देखेंगे। – Arjan

+1

सबवर्सन ओपन सोर्स है, जैसा कि गिट एंड डी मर्कुरियल है। –

+0

जैसा कि आपके अन्य प्रश्न अधिकतर विंडोज आधारित हैं: आप किस आईडीई का उपयोग कर रहे हैं? हालांकि आईडीई में एकीकरण कुछ स्रोत नियंत्रण का उपयोग करने की आवश्यकता नहीं है, यह निश्चित रूप से मदद करता है। असल में, ग्रहण में मेरे सभी दैनिक सीवीएस और एसवीएन चीजें कर रहे हैं, मैं शायद ही कभी कमांड लाइन चीजें करता हूं। ग्रहण में सीवीएस और एसवीएन एकीकरण अच्छा है (हालांकि बाद वाले को प्लगइन की आवश्यकता है) इसलिए सीवीएस और एसवीएन मेरी परियोजनाओं के लिए अच्छे विकल्प हैं, लेकिन मुझे अन्य आईडीई के बारे में पता नहीं है। – Arjan

उत्तर

19

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

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

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

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

स्रोत/संशोधन नियंत्रण सॉफ्टवेयर के साथ सहज होने के नाते किसी भी गंभीर सॉफ्टवेयर इंजीनियर का एक महत्वपूर्ण नौकरी कौशल है। इसे मास्टरिंग करने से आपको पेशेवर डेवलपर के रूप में प्रभावी ढंग से स्तर मिल जाएगा। एक प्रोजेक्ट पर आ रहा है और यह पता लगा रहा है कि टीम कहीं भी किसी फ़ोल्डर में अपना स्रोत रखती है, यह एक भयानक अनुभव है। सौभाग्य! रुचि रखने के द्वारा आप पहले से ही सही रास्ते पर हैं!

+2

कहानी कहने की बहुत अच्छी समझ! –

19

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

आपकी आवश्यकताओं को पूरा करने वाले स्रोत नियंत्रण प्रणाली को चुनने के लिए, अधिकांश स्रोत नियंत्रण प्रणालियों में ऑनलाइन उनकी विशेषताओं का विस्तृत विवरण होता है, कई मूल्यांकन या यहां तक ​​कि पूरी तरह से मुक्त उत्पाद प्रदान करते हैं, और प्रत्येक व्यक्ति के साथ काम करने के कई सारे अचूक विवरण हैं स्रोत नियंत्रण प्रणाली की तरह है, जो मदद कर सकते हैं।

यदि आप अपनी सैनिटी और कोड को महत्व देते हैं तो बस माइक्रोसॉफ्ट Visual SourceSafe का उपयोग न करें।

+4

उपरोक्त (अनजाने?) पन –

+0

हाँ यह अनजान था। :) ... लेकिन फिर .. –

+1

अब तक वादा करता है। मुझे आशा है कि वह उस उत्पाद के बजाय ओपन सोर्स समाधान प्रदान करेगा जो वह बेचता है। आप सभी को धन्यवाद)। – johnny

1

आप परियोजना है कि स्रोत नियंत्रण की आवश्यकता है बनाने हैं:

+0

ध्यान रखें कि आप उत्कृष्ट VCS टूल मुफ्त में प्राप्त कर सकते हैं, जो सेट अप करने में काफी आसान हैं। उत्कृष्ट से कम एक का उपयोग करने का एकमात्र कारण यह है कि यह पहले से स्थापित है और उपयोग में है। –

+0

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

2

मैं Git और Subversion (SVN) दोनों को निःशुल्क, मुक्त-स्रोत संस्करण नियंत्रण प्रणाली के रूप में बहुत अच्छी तरह से काम करने की सलाह देता हूं। गिट में कुछ अच्छी विशेषताएं हैं जो विकेन्द्रीकृत काम करना आसान हो सकती हैं।

+0

यदि मैं अपना कोड देखता हूं सबवर्सन से, मुझे निश्चित रूप से कुछ भी विशेष पहुंच नहीं मिलती है। –

+2

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

+0

वे जो भी डालते हैं उससे वे क्यों चले जाते हैं? यह विशेष नियंत्रण रखने के लिए अच्छा लगता है आप एक-दूसरे पर लिखने से और कैसे रहेंगे? (बस समझने की कोशिश कर रहा है।) – johnny

2

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

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

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

अनारक्षित चेकआउट के लिए कुछ तर्कों के लिए, here देखें।

इसके बाद, आप एक ऐसी निर्माण प्रक्रिया को देखेंगे जो स्वतंत्र रूप से कोड को जांचता है और स्रोत कोड बनाता है, ताकि सभी के परिवर्तन एक साथ बनाए और वितरित किए जा सकें।

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