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 Submodule

Git Submodule तुम्हाला तुमच्या मुख्य रेपॉजिटरीमध्ये उपडिरेक्टरी म्हणून दुसरे Git रेपॉजिटरी समाविष्ट करण्याची परवानगी देते. जेव्हा तुमच्याकडे बाह्य लायब्ररी किंवा घटकांवर अवलंबून असलेला प्रकल्प असेल तेव्हा हे उपयुक्त आहे.

उदाहरण: तुमच्याकडे एक प्रकल्प आहे ज्यासाठी विशिष्ट लायब्ररी आवश्यक आहे. तुमच्या रेपॉजिटरीमध्ये लायब्ररीचा कोड डुप्लिकेट करण्याऐवजी, तुम्ही तो सबमॉड्यूल म्हणून जोडू शकता. अशा प्रकारे, तुम्ही लायब्ररी कोड वेगळा ठेवू शकता आणि आवश्यकतेनुसार तो सहज अपडेट करू शकता.

 

Git Revert and Git Reset

Git Revert नवीन कमिट तयार करून पूर्वीची कमिट पूर्ववत करते जी मूळ कमिटमध्ये केलेले बदल पूर्ववत करते. Git Reset, दुसरीकडे, तुम्हाला ब्रँच पॉइंटर वेगळ्या कमिटमध्ये हलवण्याची परवानगी देते, कमिट इतिहासातून कमिट प्रभावीपणे टाकून देते.

उदाहरण: तुम्हाला शेवटची कमिट पूर्ववत करायची असल्यास, तुम्ही git revert HEAD नवीन कमिट तयार करण्यासाठी वापरू शकता जे शेवटच्या कमिटमध्ये केलेले बदल पूर्ववत करते. जर तुम्हाला शेवटची कमिट पूर्णपणे टाकून द्यायची असेल, तर तुम्ही git reset HEAD~1 ब्रँच पॉइंटर एका कमिटद्वारे परत हलवण्यासाठी वापरू शकता.

 

Git मधील या प्रगत संकल्पना तुमची भांडार प्रभावीपणे व्यवस्थापित करण्यासाठी शक्तिशाली क्षमता प्रदान करतात. ते कसे वापरायचे आणि ते कधी लागू करायचे हे समजून घेतल्याने तुमचा Git वर्कफ्लो आणि प्रकल्प व्यवस्थापन मोठ्या प्रमाणात वाढेल.