Git Cherry-pick & Patch

व्यक्तिगत प्रतिबद्धताओं और परिवर्तनों का चयन करें और उपयोग करें

Cherry-pick क्या हैं?

चेरी-पिक आपको एक कमिट को एक शाखा से दूसरी शाखा में कॉपी करने की अनुमति देता है। यह तब उपयोगी होता है जब आप किसी अन्य शाखा से केवल एक (या कुछ) परिवर्तन चाहते हैं, सब कुछ नहीं।

Patch क्या हैं?

पैच एक फ़ाइल है जिसमें एक या अधिक कमिट से परिवर्तन होते हैं। एक पैच को किसी अन्य रिपॉजिटरी में साझा या उपयोग किया जा सकता है, भले ही वह आपके रिपॉजिटरी से संबंधित न हो।

प्रत्येक का उपयोग कब करें

एक ही भंडार में शाखाओं के बीच एक प्रतिबद्धता की प्रतिलिपि बनाने के लिए चेरी-पिक का उपयोग करें।

परिवर्तनों को फ़ाइलों के रूप में साझा करने के लिए या विभिन्न रिपॉजिटरी में काम करते समय पैच का उपयोग करें।

1

किसी कमिट को चेरी-पिक कैसे करें

किसी अन्य शाखा से एक विशिष्ट प्रतिबद्धता को अपनी वर्तमान शाखा में कॉपी करें:

उदाहरण: चेरी-एक कमिट चुनें

git cherry-pick abc1234

यह समान परिवर्तनों के साथ आपकी शाखा पर एक नई प्रतिबद्धता बनाता है।

2

प्रतिबद्ध संदेश संपादित करें

चेरी-पिकिंग करते समय प्रतिबद्ध संदेश बदलना--editउपयोग:

उदाहरण: प्रतिबद्ध संदेश संपादित करें

git cherry-pick abc1234 --edit
3

बिना प्रतिबद्धता के प्रयोग करें

परिवर्तन लागू करने के लिए, लेकिन अभी तक कोई प्रतिबद्धता नहीं बनाई है--no-commit(या-n) और इसका उपयोग आपको प्रतिबद्ध होने से पहले और अधिक परिवर्तन करने की अनुमति देता है:

उदाहरण: बिना प्रतिबद्धता के चेरी-पिक

git cherry-pick abc1234 --no-commit
4

एक प्रतिबद्ध लुकअप जोड़ें

कमिट संदेश में एक पंक्ति जोड़ना यह दर्शाता है कि कमिट कहाँ से आया है-xउपयोग:

उदाहरण: उपस्थिति के साथ चेरी-पिक

git cherry-pick abc1234 -x

विवादों को संभालना

यदि कोई विरोध है, तो Git रुक जाएगा और आपसे उन्हें ठीक करने के लिए कहेगा। ठीक करने के बाद चलाएँ:

उदाहरण: संघर्ष के बाद जारी रखें

git add .
git cherry-pick --continue

चेरी-पिक रद्द करने के लिए, उपयोग करें:

उदाहरण: चेरी-पिक गिराएं

git cherry-pick --abort
5

पैच कैसे बनाएं

कमिट से एक पैच फ़ाइल बनाएं:

उदाहरण: एक पैच बनाएं

git format-patch -1 abc1234

एकाधिक समितियों के लिए:

उदाहरण: एकाधिक प्रतिबद्धताएँ

git format-patch HEAD~3
6

पैच का उपयोग कैसे करें

अपनी वर्तमान शाखा में एक पैच फ़ाइल लागू करें:

उदाहरण: पैच का प्रयोग करें

git apply 0001-some-change.patch
7

पैच लगाएं और मेटाडेटा रखें

एक पैच का उपयोग करें और मूल लेखक और संदेश रखेंgit amउपयोग:

उदाहरण: मेटाडेटा के साथ पैच का उपयोग करें

git am 0001-some-change.patch
8

एक पैच को उलट दें

बैच फ़ाइल में परिवर्तन पूर्ववत करें:

उदाहरण: सिर का पैच

git apply -R 0001-some-change.patch

💡जसिफ़ टीम हेल्पनोट

किसी कमिट को उसी रिपॉजिटरी में कॉपी करने के लिए चेरी-पिक का उपयोग करें।

परिवर्तनों को फ़ाइलों के रूप में साझा करने के लिए या रिपॉजिटरी पर काम करते समय पैच का उपयोग करें।

यदि आप प्रतिबद्ध इतिहास और लेखकों को रखना चाहते हैं,git applyके बजायgit amउपयोग

समस्या निवारण एवं सर्वोत्तम अभ्यास

चेरी-चुनने की संभावना

यदि विसंगतियाँ पाई जाती हैं, तो उन्हें बाद में ठीक करेंgit cherry-pick --continueचालू करो।

यदि आवश्यक हो तो गिराएं

यदि ज़रूरत हो तोgit cherry-pick --abortसे छोड़ें।

पैच सफाई से नहीं लगाया गया है

सुनिश्चित करें कि पैच आपके कोड आधार से मेल खाता है। कभी-कभी आपको मैन्युअल रूप से समायोजित करने की आवश्यकता हो सकती है।

अपनी शाखाओं को अद्यतन करें

चेरी चुनने या पैच लगाने से पहले, नवीनतम परिवर्तनों को हटा दें।

त्वरित संदर्भ

Cherry-pick

कमिट को कॉपी करने के लिए

git cherry-pick abc123

एक पैच बनाएं

प्रतिबद्ध से पैच

git format-patch -1

पैच का प्रयोग करें

पैच लगाएं

git apply patch.patch

मेटाडेटा के साथ पैच करें

इतिहास रखने के लिए

git am patch.patch