मैं अक्सर एक साथ कई सुविधाओं पर काम करता हूं, जिसके कारण मैं परिवर्तनों को छिपा देता हूं और अन्य कार्यों पर स्विच करते समय उनके बारे में भूल जाता हूं। मैंने अनुस्मारक के रूप में गिट हुक और टर्मिनल उपनामों का उपयोग करने का प्रयास किया, लेकिन वे या तो बहुत अधिक परेशानी वाले थे या उन्हें अनदेखा करना आसान था। इसलिए, मुझे एक बेहतर समाधान ढूंढना पड़ा।
यह लेख मूल रूप से एक साल पहले मेरे ब्लॉग पर पोस्ट किया गया था लेकिन मैं इस पर बार-बार आता रहता हूं। इसे दुनिया के साथ पुनः साझा करना :)
Git जानकारी को स्नैपशॉट की सूची के रूप में संग्रहीत करता है। एक स्नैपशॉट एक निश्चित समय पर रिपॉजिटरी का संग्रहीत संस्करण है। प्रत्येक कमिट गिट दुनिया में एक स्नैपशॉट का प्रतिनिधित्व करता है।
वर्किंग ट्री प्रोजेक्ट के एक संस्करण का एकल चेकआउट है। इन फ़ाइलों को Git निर्देशिका में संपीड़ित डेटाबेस से निकाला जाता है और आपके उपयोग या संशोधित करने के लिए डिस्क पर रखा जाता है। यह वह स्थान है जहां आप मंचन और प्रतिबद्धता से पहले अपना काम करते हैं।
गिट वर्कट्रीज़, गिट स्टैश की परेशानी के बिना एक ही समय में कई गिट वर्किंग ट्री को प्रबंधित करने का एक तरीका है। वे हमें रिपॉजिटरी की उप-निर्देशिकाओं के रूप में शाखाओं पर काम करने की अनुमति देते हैं, जिससे तत्काल, असंबंधित परिवर्तन की आवश्यकता होने पर परिवर्तनों को छिपाने के दर्द से पूरी तरह से राहत मिलती है।
worktree मॉड्यूल आपको रिपॉजिटरी की एक ही रूट निर्देशिका में अलग-अलग उप-निर्देशिकाओं में प्रोजेक्ट के कई संस्करणों को चेकआउट करने की अनुमति देता है। पारंपरिक दृष्टिकोण पर उदाहरण के लिए निम्नलिखित आरेख लें:
इस उदाहरण में मेरे पास दो संग्रहीत परिवर्तन हैं (जो कोड की सैकड़ों लाइनें हो सकती हैं) और 3 शाखाएं, फीचर-1, फीचर-2, और फिक्स -1. जब तक मैं fix-1 शाखा पर काम करना समाप्त करता हूं और इसे आगे बढ़ाता हूं, तब तक मेरा दिमाग अगले कार्य में लग जाता है और पिछली सुविधाओं के बारे में पूरी तरह से भूल जाता है, जब तक कि मुझे उनकी दोबारा याद न दिला दी जाए।
इसके बजाय, वर्कट्रीज़ के साथ, यह इस तरह दिखता है:
वर्कट्रीज़ के साथ निर्देशिका संरचना में प्रत्येक वर्कट्री (शाखा) एक अलग निर्देशिका में होती है। यह मुझे उस निर्देशिका को बदलकर एक शाखा से दूसरी शाखा में सहजता से स्विच करने की अनुमति देता है जिसमें मैं वर्तमान में काम कर रहा हूं। इस दृष्टिकोण के साथ मेरे सामान्य वर्कफ़्लो में निम्नलिखित शामिल हैं:
जब मैं एक वर्कट्री से दूसरे वर्कट्री पर स्विच करना चाहता हूं तो मुझे या तो समान चरणों का उपयोग करके एक अलग वर्कट्री बनाना होगा यदि मैंने इसे पहले से नहीं बनाया है, या बस VSCode के साथ एक अलग निर्देशिका खोलें और हैक करना शुरू करें तुरंत।
वर्कट्री बनाना उतना ही सरल है जितना मौजूदा शाखाओं के लिए गिट वर्कट्री ऐड डायरेक्ट्री-नेम ब्रांच-नेम चलाना या नई ब्रांच बनाने के लिए गिट वर्कट्री ऐड डायरेक्ट्री-नेम -बी ब्रांच-नेम चलाना।
किसी शाखा पर काम पूरा करने के बाद आप अपनी निर्देशिका संरचना को प्रदूषित होने से रोकने के लिए वर्कट्री को सुरक्षित रूप से हटा सकते हैं। बस git वर्कट्री रिमूव डायरेक्टरी-नेम चलाएँ। यह अंतर्निहित शाखाओं को नहीं हटाता है ताकि आप बाद में उन्हें सुरक्षित रूप से दोबारा जांच सकें।
वर्कट्रीज़ रिपॉजिटरी शाखाओं के चेकआउट हैं, इसलिए अनट्रैक की गई फ़ाइलों की प्रतिलिपि नहीं बनाई जाती है। .env जैसी फ़ाइलें कॉपी नहीं की जाएंगी, इसलिए वर्कट्री बनाने के बाद उन्हें कॉपी करना सुनिश्चित करें और यदि कोई निर्भरता मौजूद है तो उसे इंस्टॉल करें।
यह भी ध्यान दें कि वर्कट्रीज़ के लिए बनाई गई निर्देशिकाएं रूट रिपॉजिटरी निर्देशिका में निष्पादित होने पर गिट स्टेटस लॉग में दिखाई देंगी। हालाँकि काम के घंटों को भूलने की तुलना में मेरे लिए ये गठजोड़ कुछ भी नहीं हैं।
पढ़ने के लिए आपका शुक्रिया! आप मेरे ब्लॉग पर और अधिक पढ़ सकते हैं और GitHub प्रायोजकों पर मेरे काम का समर्थन कर सकते हैं!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3