Git मा उन्नत अवधारणाहरू: शक्तिशाली सुविधाहरू र प्रविधिहरू अन्वेषण गर्दै

Rebasing

रिबेसिङले तपाईंलाई कमिट इतिहास परिमार्जन गरेर एउटा शाखाबाट अर्को शाखामा परिवर्तनहरू समावेश गर्न अनुमति दिन्छ। यसले स्रोत शाखाबाट लक्षित शाखामा कमिटहरू पुन: प्ले गर्दछ। यसले क्लिनर र अधिक रैखिक प्रतिबद्ध इतिहासको परिणाम दिन्छ।

उदाहरण: मानौं तपाईंसँग एउटा सुविधा शाखा छ feature-branch र तपाईं शाखाबाट नवीनतम परिवर्तनहरू समावेश गर्न चाहनुहुन्छ main । तपाइँ निम्न आदेश प्रयोग गर्न सक्नुहुन्छ:

git checkout feature-branch  
git rebase main  

यसले शाखाबाट कमिटहरू main मा लागू हुनेछ feature-branch । रिबेस प्रक्रियाको क्रममा कुनै पनि विवादहरू समाधान गर्न आवश्यक हुनेछ।

 

Stashing

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

उदाहरण: मानौं कि तपाईं सुविधा शाखामा काम गर्दै हुनुहुन्छ र तपाईंले केही परिवर्तनहरू गर्नुभएको छ, तर तपाईंले अर्को शाखामा स्विच गर्न आवश्यक छ। तपाईं आफ्नो परिवर्तनहरू लुकाउन निम्न आदेशहरू प्रयोग गर्न सक्नुहुन्छ:

git stash

नयाँ शाखामा स्विच गरिसकेपछि, तपाईंले प्रयोग गरेर स्ट्यास गरिएका परिवर्तनहरू लागू गर्न सक्नुहुन्छ:

git stash apply

 

Git Hooks

Git Hooks प्रि-कमिट, पोस्ट-कमिट, प्रि-पुश, आदि जस्ता विशिष्ट Git घटनाहरूद्वारा ट्रिगर गरिएका स्क्रिप्टहरू हुन्। तिनीहरूले तपाईंलाई निश्चित कार्यहरू स्वचालित गर्न वा तपाईंको कार्यप्रवाहमा विशेष नियमहरू लागू गर्न अनुमति दिन्छ।

उदाहरण: मान्नुहोस् कि तपाइँ कमिट गर्नु अघि तपाइँको कोडमा लिन्टर चलाउन चाहानुहुन्छ। तपाइँ एक प्रि-कमिट हुक स्क्रिप्ट सिर्जना गर्न सक्नुहुन्छ जसले linter ट्रिगर गर्दछ र कमिटलाई रोक्छ यदि त्यहाँ कुनै linting त्रुटिहरू छन्।

 

Git Submodule

Git Submodule तपाइँलाई तपाइँको मुख्य भण्डार भित्र एक उपनिर्देशिका रूपमा अर्को Git भण्डार समावेश गर्न अनुमति दिन्छ। यो उपयोगी हुन्छ जब तपाईंसँग बाह्य पुस्तकालय वा कम्पोनेन्टहरूमा निर्भर परियोजना हुन्छ।

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

 

Git Revert and Git Reset

Git Revert नयाँ प्रतिबद्धता सिर्जना गरेर अघिल्लो प्रतिबद्धतालाई पूर्ववत गर्दछ जुन मूल प्रतिबद्धतामा गरिएका परिवर्तनहरूलाई पूर्ववत गर्दछ। Git Reset, अर्कोतर्फ, तपाइँलाई शाखा सूचकलाई फरक कमिटमा सार्न अनुमति दिन्छ, कमिट ईतिहासबाट कमिटहरूलाई प्रभावकारी रूपमा खारेज गर्दै।

उदाहरण: यदि तपाइँ अन्तिम कमिटलाई अनडू गर्न चाहनुहुन्छ भने, तपाइँ git revert HEAD नयाँ कमिट सिर्जना गर्न प्रयोग गर्न सक्नुहुन्छ जुन पछिल्लो कमिटमा गरिएका परिवर्तनहरूलाई अनडू गर्दछ। यदि तपाइँ अन्तिम कमिट पूर्ण रूपमा खारेज गर्न चाहनुहुन्छ भने, तपाइँ git reset HEAD~1 शाखा सूचकलाई एक कमिटद्वारा फिर्ता सार्न प्रयोग गर्न सक्नुहुन्छ।

 

Git मा यी उन्नत अवधारणाहरूले तपाईंको भण्डारलाई प्रभावकारी रूपमा व्यवस्थापन गर्न शक्तिशाली क्षमताहरू प्रदान गर्दछ। तिनीहरूलाई कसरी प्रयोग गर्ने र कहिले लागू गर्ने भनेर बुझ्दा तपाईंको Git कार्यप्रवाह र परियोजना व्यवस्थापनमा ठूलो वृद्धि हुनेछ।