शुरुआती के लिए तोड़फोड़ (एसवीएन) के साथ संस्करण ट्रैकिंग
क्या आप कभी भी अपने परिवर्तनों को ट्रैक करने की क्षमता के साथ एक परियोजना पर काम करना चाहते हैं और साथ ही उन्हें वापस ला सकते हैं? कैसे-कैसे गीक बताते हैं कि कैसे-कैसे लोकप्रिय संस्करण ट्रैकिंग प्रणाली का उपयोग करने के लिए, तोड़फोड़ (a.k.a SVN).
स्पष्ट रूप से अस्पष्ट द्वारा छवि
Prelog
यह मार्गदर्शिका आपको सामान्य रूप से तोड़फोड़ करने वाले ग्राहक का उपयोग करने की क्षमता देने का लक्ष्य रखेगी, और यदि आपके पास एक, अपने * DD-WRT राउटर पर। यह मार्गदर्शिका किसी भी तरह से तोड़फोड़ के लिए एक निश्चित मार्गदर्शिका नहीं है और बहुत सारी जानकारी तोड़फोड़ की लाल किताब पर पाई जा सकती है। यह गाइड आपको केवल सवालों के सबसे बुनियादी जवाब देने के लिए है.
अवलोकन
कई कारण हो सकते हैं कि आप एक सॉफ्टवेयर प्रोजेक्ट के लिए नवीनतम कोड को "चेकआउट" करने में सक्षम क्यों होना चाहते हैं जो एक संस्करण प्रणाली का उपयोग करता है। ऐसा करने से आप नवीनतम अभी भी अप्रबंधित परिवर्तनों से लाभ उठा सकते हैं, परीक्षण और यहां तक कि विकास में मदद कर सकते हैं। इस गाइड में, हम कुछ बुनियादी एसवीएन शब्दावली पर जाएंगे, यह बताएंगे कि लिनक्स, विंडोज पर एसवीएन क्लाइंट कैसे स्थापित करें और यदि आपके पास अपना ओपीकेजी सक्षम डीडी-डब्ल्यूआरटी राउटर है। हमने एक प्रोजेक्ट का एक उदाहरण भी शामिल किया है जिसे आप राउटर के लिए चेकआउट और उपयोग कर सकते हैं.
तोड़फोड़ क्या है?
अस्तित्व और विकल्पों में एकमात्र संस्करण नियंत्रण प्रणाली द्वारा तोड़फोड़ का अर्थ है गिट (जिसमें लिनुस टॉर्वाल्ड्स लिनक्स कर्नेल संस्थापक) द्वारा बनाया गया था, कुछ नाम करने के लिए मर्क्यूरियल और पेरफर्स। इसके साथ ही यह कहा गया, यह मुक्त लोगों में से एक है, यह परिपक्व है और इसका दुनिया भर में व्यापक उपयोग किया जाता है.
तोड़फोड़ से "लाल किताब":
तोड़फोड़ एक स्वतंत्र / खुला स्रोत है संस्करण नियंत्रण प्रणाली (VCS)। अर्थात्, तोड़फोड़ फाइलों और निर्देशिकाओं और समय के साथ उनमें किए गए परिवर्तनों का प्रबंधन करता है। इससे आप अपने डेटा के पुराने संस्करणों को पुनर्प्राप्त कर सकते हैं या इतिहास की जांच कर सकते हैं कि आपका डेटा कैसे बदल गया। इस संबंध में, कई लोग "टाइम मशीन" के रूप में एक संस्करण नियंत्रण प्रणाली के बारे में सोचते हैं।
नोट: यह पुस्तक है तोड़फोड़ के बारे में ज्ञान का अंतिम संग्रह और आपको सलाह दी जाती है कि इसे सभी तोड़फोड़ संबंधित विषयों पर देखें.
क्या संस्करण है??
वर्जनिंग एक ऐसी प्रक्रिया है जिसमें एक बिंदु पर एक परियोजना की स्थिति को समय पर बचाया जाता है। इस प्रकार की प्रक्रिया का उपयोग अक्सर सॉफ्टवेयर विकास को प्रबंधित करने के लिए किया जाता है, ताकि पिछले समग्र "सेव" बिंदु से जो कुछ भी बदल गया है, उसे ट्रैक करने में सक्षम होने के साथ-साथ परियोजना को सुधारने या सुविधाओं को जोड़ने का काम जारी रह सके। विस्तृत करने के लिए, इस तरह की प्रक्रिया किसी एकल व्यक्ति के लिए उपयोगी हो सकती है, लेकिन इससे भी अधिक लोगों के समूह के लिए, सभी एक ही परियोजना पर काम कर रहे हैं। ऐसा इसलिए है क्योंकि आमतौर पर, जब एक समूह के रूप में एक परियोजना पर काम करते हैं, तो जिम्मेदारियों का वितरण होता है और विभिन्न लोग परियोजना के विभिन्न पहलुओं को बदलते हैं। एक संस्करण तंत्र के बिना, हर किसी के नवीनतम कार्य परिवर्तनों पर सभी को सिंक में रखना बहुत मुश्किल होगा.
शब्दावली
रिपोजिटरी
रिपॉजिटरी वह स्थान है जहां सभी विभिन्न स्थानों के सभी डेटा सहेजे जाते हैं। ग्राहक के दृष्टिकोण से, तोड़फोड़ की दुनिया में, यह सर्वर है जो परियोजना का डेटाबेस रखता है। इस डेटाबेस में वे सभी फाइलें हैं जो उनके पिछले सभी संस्करणों के साथ परियोजना का हिस्सा हैं.
संशोधन
जब एक भंडार बनाया जाता है, तो उसे शून्य (0) की संशोधन संख्या दी जाती है। यह नंबर एक (1) द्वारा हर बार कमिट किया जाता है। संशोधन संख्या रिपॉजिटरी के लिए वैश्विक है। अर्थात्, रिपॉजिटरी में अलग-अलग फाइलों के लिए अलग-अलग रिवीजन नंबर नहीं है, भले ही उस फाइल के लिए उस विशिष्ट कमिट में कुछ भी नहीं बदला हो.
वर्किंग कॉपी
वर्किंग कॉपी एक विशेष संस्करण की एक स्थानीय कॉपी (या "चेकआउट") है। आमतौर पर यह संस्करण जब चेक-आउट "नवीनतम" एक होता है (जिसे "हेड" भी कहा जाता है), लेकिन पिछले एक का अनुरोध किया जा सकता है। उपयोगकर्ता स्थानीय कॉपी के साथ कुछ भी कर सकता है जिसे वह / वह इच्छा रखता है, ज्ञान के साथ, जो कि, कम से कम, वे कोड को फिर से जांच सकते हैं। इसके अलावा, यह प्रति "निजी" है। ऐसा इसलिए है क्योंकि जब तक आप अपनी कॉपी को अपडेट या कमिट नहीं करते हैं, तब तक आप अन्य लोगों के बदलाव नहीं देखेंगे, न ही वे आपके देखेंगे.
अद्यतन करना और विरोध हल करना
एक स्थानीय कामकाजी प्रतिलिपि को अद्यतन किया जा सकता है। यही है, यदि आपने एक निश्चित संस्करण को "चेक आउट" कर लिया है, और जब आप काम कर रहे थे, तो रिपॉजिटरी के संस्करण को अपडेट कर दिया गया है, आप अपनी वर्किंग कॉपी को नवीनतम में अपडेट कर सकते हैं। वास्तव में, सर्वर रिपॉजिटरी से मेल खाने के लिए नवीनतम संस्करण में अपडेट करने से पहले आपको अपने परिवर्तनों को करने से रोकेगा। यह आपको स्थानीय स्तर पर संघर्षों को हल करने के लिए मजबूर करने से पहले किया जाता है, इससे पहले कि आप भंडार में परिवर्तन करने के बारे में भी सोचें.
विलय
विलय प्रक्रिया को संदर्भित करता है जिसके द्वारा, परिवर्तित कोड को एक संस्करण में मिश्रित किया जाता है। यह संघर्षों को सुलझाने में भी प्रवेश कर सकता है.
करता है
कमिटिंग वह प्रक्रिया है जिसमें आपने अपनी स्थानीय कॉपी में जो बदलाव किए हैं, वे रिपोजिटरी में वापस मर्ज हो जाएंगे। यह इस प्रक्रिया का सबसे खतरनाक हिस्सा है, क्योंकि यह यहाँ है कि आपने जो परिवर्तन किए हैं, वही रिपॉजिटरी का उपयोग करके अन्य लोगों को प्रभावित कर सकता है। यही कारण है कि यह आमतौर पर कुछ विचार के बाद किया जाता है, टीम की सर्वसम्मति के साथ और आपके द्वारा किसी भी विलय के संघर्ष को हल करने के बाद.
द वर्कफ़्लो
तोड़फोड़ का उपयोग करते समय उपयोगकर्ता के दृष्टिकोण से सबसे बुनियादी वर्कफ़्लो यह है:
1. मौजूदा कोड चेकआउट करें (आमतौर पर "हेड").
2. परिवर्तन करें, फाइलें जोड़ें और आम तौर पर कोड विकसित करें.
3. नवीनतम संस्करण में अपडेट करें, यह सुनिश्चित करने के लिए कि रिपॉजिटरी पर अपडेट के साथ आपकी स्थानीय कॉपी सिंक में है.
4. यदि आवश्यक हो तो स्थानीय रूप से संघर्ष और विलय करें.
5. भंडार में विलय किए गए परिवर्तनों को प्रतिबद्ध करें.
6. GoTo चरण 2.
चलें शुरू करें
क्लाइंट स्थापित करें
तोड़फोड़ का उपयोग करने में सक्षम होने के लिए, आपको ग्राहक को अपनी मशीन पर स्थापित करने की आवश्यकता है.
लिनक्स पर
आपको केवल पैकेज स्थापित करने की आवश्यकता है। उबंटू / टकसाल पर, इसके साथ किया जाएगा:
sudo aptitude इंस्टॉल तोड़फोड़
DD-WRT पर
यदि आपने "अपने होम राउटर (DD-WRT) पर अतिरिक्त सॉफ़्टवेयर स्थापित करने के लिए" का पालन किया है, तो आप केवल जारी करके svn क्लाइंट स्थापित करने में सक्षम हैं:
opkg अद्यतन; opkg स्थापित तोड़फोड़-ग्राहक
विंडोज पर
जबकि हम गहरे geek उपयोगकर्ताओं को यह भूलना शुरू कर सकते हैं कि GUI कई बार मौजूद है, सभी के पास नहीं है। यदि आप एक SVN रिपॉजिटरी से कनेक्ट करने के लिए विंडोज़ क्लाइंट का उपयोग करना चाहते हैं, तो अब तक सबसे लोकप्रिय "कछुआ" है। इसका उपयोग करने के लिए, बस प्रोग्राम डाउनलोड करें और नियमित रूप से "अगला, अगला, खत्म" फैशन में स्थापित करें.
"रिपॉजिटरी" बनाएं
हालांकि हम इस गाइड में एक तोड़फोड़ सर्वर को सेटअप करने के तरीके के बारे में अधिक विस्तार में नहीं जाएंगे, Google विकल्प नौसिखिए उपयोगकर्ता के लिए एक बुरी शुरुआत नहीं है। Google रिपॉजिटरी बनाने के लिए:
- Google कोड होस्टिंग वेबसाइट पर जाएं और एक नया प्रोजेक्ट "बनाएं".
- अगले पृष्ठ में, आवश्यक फ़ील्ड भरें और तोड़फोड़ करने के लिए "संस्करण नियंत्रण प्रणाली" का प्रकार चुनें.
ध्यान दें: आप Google द्वारा ऑफ़र किए जाने से पहले, लाइसेंस के बीच अंतर पर गौर करना चाहते हैं. - "प्रोजेक्ट बनाएं" पर क्लिक करें.
एक बार आपका प्रोजेक्ट बन जाने के बाद, आपको "सोर्स" टैब में इसे एक्सेस करने के तरीके के बारे में निर्देश प्राप्त करने में सक्षम होना चाहिए.
Google कोड के बारे में अच्छी बात यह है कि यह आपके प्रोजेक्ट के लिए एक अनाम रीड-ओनली संस्करण को सक्षम करेगा। यदि आप अपना स्वयं का प्रोजेक्ट बनाने के झंझट से नहीं जूझना चाहते हैं, तो आप गुमनाम रूप से इस लेखक के भंडार की जांच कर सकते हैं.
हॉटफेक प्रोजेक्ट के बारे में एक नोट: यह परियोजना उन सुविधाओं के लिए एक आवरण है, जिन्हें डीडी-डब्ल्यूआरटी पर कैसे-कैसे गीक (जो मैं व्यक्तिगत रूप से उपयोग करता हूं) के साथ-साथ कुछ व्यक्तिगत ट्वीक्स भी जोड़े गए हैं। हालांकि इस परियोजना को हॉटोगीक पर प्रकाशित लेखों के साथ काम करने के लिए तैयार किया गया है, यह अभी भी मेरी निजी परियोजना है। अर्थात्, यह मेरे बफ़ेलो राउटर (AR71xx आर्किटेक्चर), मेरे व्यक्तिगत स्वामियों के लिए अत्यधिक अनुकूल है और कभी-कभार होने वाले नुकसान की संभावना है.
Linux / DD-WRT पर
उदाहरण के लिए, डीडी-डब्ल्यूआरटी पर काम करने के लिए निर्देशिका बनाएं, जो निम्न हो सकता है:
mkdir -p / jffs / svn; cd / jffs / svn
लिनक्स पर पूर्ण कमांड में SVN कमांड ही होता है, "चेकआउट" निर्देश, रिपॉजिटरी का पता और चेकआउट करने के लिए निर्देशिका भी। एक खाली निर्देशिका बनाएं और नीचे दिए गए कमांड को निष्पादित करें:
svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only
ध्यान दें कि ऊपर दिए गए उदाहरण में, केवल-पढ़ने के लिए संस्करण की जाँच की जा रही है। यदि आपने अपना स्वयं का भंडार बनाने का विकल्प चुना है, तो आपको httpS लिंक का उपयोग करना होगा.
विंडोज पर
क्योंकि कछुआ एक शेल एक्सटेंशन है, इसलिए आपको इसका उपयोग करने के लिए विंडोज फाइल एक्सप्लोरर के संदर्भ मेनू (राइट-क्लिक) का उपयोग करना होगा। वास्तव में, यदि आप इसे प्रारंभ मेनू से लागू करने का प्रयास करते हैं, तो आपको मिलेगा:
- एक खाली निर्देशिका बनाएँ.
- संदर्भ मेनू लाने के लिए इसमें राइट क्लिक करें.
- "SVN चेकआउट" चुनें:
- प्रोजेक्ट के लिए लिंक को कॉपी और पेस्ट करें (यदि आपके पास एक है) "URL" टेक्स्टबॉक्स में:
- आपके प्रोजेक्ट के आकार के आधार पर इसमें कुछ समय लग सकता है, लेकिन जब "चेकआउट" पूरा हो गया है, तो आपको कुछ इस तरह देखना चाहिए:
- आप विकास शुरू कर सकते हैं.
"अद्यतन" और "मर्ज" अपनी काम की नकल
यदि आपका सहकर्मियों के साथ कोड पर काम कर रहा है, या आप स्वयं कई स्थानों (जैसे लैपटॉप, डेस्कटॉप या राउटर) से कोड को अपडेट कर रहे हैं, तो आपको नवीनतम बदलाव करने से पहले अपनी कार्यशील प्रति अपडेट करनी होगी।.
Linux / DD-WRT पर
इन POSIX सिस्टम पर ऐसा करने का कमांड बस है:
svn ऊपर
विंडोज पर
- कार्य निर्देशिका में राइट क्लिक करें और "SVN अपडेट" चुनें:
- यदि आप संघर्षों का सामना करते हैं, तो स्क्रीन निर्देश का पालन करने का प्रयास करें और अपने फैसले का उपयोग करें कि उनके बारे में क्या करना है.
आपके परिवर्तन "प्रतिबद्ध"
यही है, आपको अपने परिवर्तनों के साथ रिपॉजिटरी को अपडेट करने के लिए संघर्ष मुक्त और तैयार होना चाहिए.
यहां ध्यान देने वाली बात यह है कि कमिटमेंट में "लॉग" संदेश जोड़ना एक आम बात है, क्योंकि आसानी से याद किया जा सकता है कि बदलाव क्यों किए गए थे। वास्तव में, Google का भंडार इसे कमिट करने के लिए एक अनिवार्य पूर्व आवश्यकता बनाता है.
Linux / DD-WRT पर
यह उस हॉटमेक प्रोजेक्ट के लिए की गई प्रतिबद्धता का एक उदाहरण है जिसे मैंने संस्करण 19 में लिया है:
svn कमिट-मी "नए एंटी-विज्ञापन पैक लिंक को प्रतिबिंबित करने के लिए अपडेट किया गया"
विंडोज पर
- कार्य निर्देशिका में राइट क्लिक करें और "SVN कमिट" चुनें:
- आपको एक विंडो द्वारा बधाई दी जानी चाहिए जो आपको लॉग संदेश नोट करने में सक्षम बनाती है:
- ठीक पर हिट करें और जब पासवर्ड के लिए कहा जाए, तो Google द्वारा दिया गया पासवर्ड दें.
- यदि यह वचन सफल रहा, तो आपको कुछ इस तरह देखना चाहिए:
- वह यह है कि, आपको एक बॉस की तरह प्रतिबद्ध होना चाहिए.
अंतिम टिप्पणी
यह आपको शुरू करने के लिए पर्याप्त होना चाहिए। आपको सलाह दी जाती है कि SVN के सभी उपयोगों, विकल्पों और चौकों पर गहरी और बेहतर समझ प्राप्त करने के लिए SVN संदर्भ पुस्तकें पढ़ें। इसके अलावा, हम आपको (फिर से) याद दिलाते हैं कि तोड़फोड़ वहाँ केवल संस्करण नियंत्रण प्रणाली नहीं है और जीआईटी (जो कि लिनस टोरवाल्ड्स द्वारा लिनक्स कर्नेल संस्थापक बनाया गया था) लगता है कि हाल के वर्षों में लोकप्रियता हासिल कर रहा है.
यदि आप अपने राउटर पर हॉटफेक प्रोजेक्ट से "रनिंग-config.sh" चलाने का विकल्प चुनते हैं, तो आप पाएंगे कि यह वर्तमान में आपके लिए इंस्टॉल हो जाएगा: विरोधी विज्ञापन-पैक, Opkg geek-init स्क्रिप्ट, साथ ही पूर्ण GNU "ls", "कम", "BASH" और अधिक जैसी चीजें.
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
अधिक सुविधाएँ लंबित हैं और भविष्य में जोड़ी जाएंगी.
सिस्टम प्रशासक कोडिंग से अपना रास्ता निकाल लेंगे.