यह मार्गदर्शिका प्रोग्राम या फ़ाइल में पैच लगाने के लिए एक मूल अवलोकन प्रदान करती है।
पैच लगाने के लिए उपयोग किया जाने वाला कमांड पैच कमांड है लेकिन पैच को लागू करने के लिए डिफ कमांड को पैच किए जाने वाले मतभेदों को आपूर्ति करने के लिए भी इस्तेमाल किया जाना चाहिए।
आप एक पैच क्यों बनायेंगे
कल्पना करें कि आपके पास एक HTML फ़ाइल निम्नानुसार है:
Head>
माईसाइट में आपका स्वागत है h1>
Body>
Html>
उपरोक्त स्रोत जब एक वेब ब्राउज़र में लोड होता है तो शब्द "माईसाइट में आपका स्वागत है" दिखाएगा।
यह सामान्य है जब एक ही फ़ाइल के कई संस्करण होने के लिए प्रोग्रामिंग। उदाहरण के लिए एक संस्करण होगा जो वर्तमान लाइव संस्करण है, विकास शाखा पर एक और संस्करण होगा जिसमें कई बदलाव हो सकते हैं, अंत में रिलीज शाखा पर एक और संस्करण हो सकता है।
रिलीज शाखा वास्तविक उपयोगकर्ताओं द्वारा उपयोग की जाने वाली संस्करण होगी (यानी इस मामले में आगंतुकों को माइसाइट वेबसाइट पर)। आइए हम कहें कि माईसाइट संस्करण 1.0 पर है। एक विकास चरण के बाद आप एक रिलीज शाखा तैयार करेंगे जो इस मामले में 1.1 होगी। विकास शाखा रिलीज शाखा से आगे हो सकती है क्योंकि इसमें ऐसे बदलाव हो सकते हैं जो संस्करण 1,2 में रिलीज के कारण नहीं हैं लेकिन संस्करण 1.1 के लिए होंगे।
कल्पना कीजिए कि एक बग था जिससे माईसाइट को आपकी साइट कहा जाना चाहिए। आप बदले में प्रत्येक शाखा में जा सकते हैं और लाइव संस्करण में परिवर्तन कर सकते हैं, विकास संस्करण और रिलीज संस्करण आपके जीवन में एक गर्म फिक्स के रूप में परिवर्तन कर सकते हैं और फिर विकास के लिए पैच लागू कर सकते हैं और शाखाओं को छोड़ सकते हैं।
एक काम किया उदाहरण
निम्न कोड के साथ myfile.html नामक एक फ़ाइल बनाएं:
Head>
माईसाइट में आपका स्वागत है h1>
यह स्रोत कोड पैच करने का एक काम किया गया उदाहरण है। p>
Body>
Html>
निम्न कोड के साथ myfile_v2.html नामक एक और फ़ाइल बनाएं:
Head>
आपकी साइट पर आपका स्वागत है h1>
यह स्रोत कोड पैच करने का एक काम किया गया उदाहरण है। p>
Body>
Html>
पहली फ़ाइल शीर्षक "माईसाइट में आपका स्वागत है" शीर्षक वाला मूल वेब पेज है। दूसरी फ़ाइल पहली फ़ाइल के समान है, सिवाय इसके कि माईफाइल को टेक्स्ट में आपकेफ़ाइल का नाम बदल दिया गया है।
डिफ फ़ाइल कैसे बनाएं
पैच बनाने के लिए हमें myfile.html और myfile_v2.html के बीच अंतर को काम करने की आवश्यकता है।
हम इसे diff कमांड के साथ निम्नानुसार कर सकते हैं:
diff -u myfile.html myfile_v2.html> myfile.patch
आप इसे देखने के लिए निम्नानुसार nano संपादक में myfile.patch फ़ाइल खोल सकते हैं:
नैनो myfile.patch
अपरिवर्तित रेखाएं नीली रंग में दिखाई देती हैं। हटाए गए रेखाएं लाल रंग में दिखाई देती हैं और जो पंक्तियां जोड़ दी गई हैं उन्हें हरे रंग में दिखाया गया है।
पैच कमांड का उपयोग कर पैच को कैसे लागू करें
Myfile.html पर पैच लागू करने के लिए निम्न आदेश का उपयोग करें:
पैच यह diff कमांड का उपयोग मूल फ़ाइल myfile.html पर किए गए परिवर्तनों को लागू करेगा। यदि आप पैच को वापस करना चाहते हैं ताकि myfile.html जिस तरह से मूल रूप से निम्न आदेश का उपयोग कर रहा हो: पैच -आर पैच कमांड का उपयोग संपूर्ण निर्देशिका संरचना में पैच लागू करने के लिए किया जा सकता है। पैच बनाने और अच्छे स्रोत नियंत्रण सुनिश्चित करने के लिए पैच कमांड की तुलना में कहीं बेहतर उपकरण हैं। एक कारण है कि इतनी सारी विकास परियोजनाएं स्रोत नियंत्रण के लिए जीआईटी का उपयोग करती हैं। जीआईटी एक सतत शाखा रणनीति बनाने में आसान बनाता है। पैच कमांड एक बैश स्क्रिप्ट या कुछ सरल में भिन्नता लागू करने के लिए ठीक है, लेकिन आप आसानी से उन फ़ाइलों की बैकअप प्रतिलिपि बना सकते हैं जिन्हें आप पैच करना चाहते हैं और बस नई फ़ाइलों को उसी स्थान पर कॉपी करें। अधिक जानकारी के लिए मैन कमांड का उपयोग करें: आदमी पैच एक पैच कैसे वापस करें
सारांश