Cherry-pick क्या हैं?
चेरी-पिक आपको एक कमिट को एक शाखा से दूसरी शाखा में कॉपी करने की अनुमति देता है। यह तब उपयोगी होता है जब आप किसी अन्य शाखा से केवल एक (या कुछ) परिवर्तन चाहते हैं, सब कुछ नहीं।
Patch क्या हैं?
पैच एक फ़ाइल है जिसमें एक या अधिक कमिट से परिवर्तन होते हैं। एक पैच को किसी अन्य रिपॉजिटरी में साझा या उपयोग किया जा सकता है, भले ही वह आपके रिपॉजिटरी से संबंधित न हो।
प्रत्येक का उपयोग कब करें
एक ही भंडार में शाखाओं के बीच एक प्रतिबद्धता की प्रतिलिपि बनाने के लिए चेरी-पिक का उपयोग करें।
परिवर्तनों को फ़ाइलों के रूप में साझा करने के लिए या विभिन्न रिपॉजिटरी में काम करते समय पैच का उपयोग करें।
किसी कमिट को चेरी-पिक कैसे करें
किसी अन्य शाखा से एक विशिष्ट प्रतिबद्धता को अपनी वर्तमान शाखा में कॉपी करें:
उदाहरण: चेरी-एक कमिट चुनें
git cherry-pick abc1234
यह समान परिवर्तनों के साथ आपकी शाखा पर एक नई प्रतिबद्धता बनाता है।
प्रतिबद्ध संदेश संपादित करें
चेरी-पिकिंग करते समय प्रतिबद्ध संदेश बदलना--editउपयोग:
उदाहरण: प्रतिबद्ध संदेश संपादित करें
git cherry-pick abc1234 --edit
बिना प्रतिबद्धता के प्रयोग करें
परिवर्तन लागू करने के लिए, लेकिन अभी तक कोई प्रतिबद्धता नहीं बनाई है--no-commit(या-n) और इसका उपयोग आपको प्रतिबद्ध होने से पहले और अधिक परिवर्तन करने की अनुमति देता है:
उदाहरण: बिना प्रतिबद्धता के चेरी-पिक
git cherry-pick abc1234 --no-commit
एक प्रतिबद्ध लुकअप जोड़ें
कमिट संदेश में एक पंक्ति जोड़ना यह दर्शाता है कि कमिट कहाँ से आया है-xउपयोग:
उदाहरण: उपस्थिति के साथ चेरी-पिक
git cherry-pick abc1234 -x
विवादों को संभालना
यदि कोई विरोध है, तो Git रुक जाएगा और आपसे उन्हें ठीक करने के लिए कहेगा। ठीक करने के बाद चलाएँ:
उदाहरण: संघर्ष के बाद जारी रखें
git add .
git cherry-pick --continue
चेरी-पिक रद्द करने के लिए, उपयोग करें:
उदाहरण: चेरी-पिक गिराएं
git cherry-pick --abort
पैच कैसे बनाएं
कमिट से एक पैच फ़ाइल बनाएं:
उदाहरण: एक पैच बनाएं
git format-patch -1 abc1234
एकाधिक समितियों के लिए:
उदाहरण: एकाधिक प्रतिबद्धताएँ
git format-patch HEAD~3
पैच का उपयोग कैसे करें
अपनी वर्तमान शाखा में एक पैच फ़ाइल लागू करें:
उदाहरण: पैच का प्रयोग करें
git apply 0001-some-change.patch
पैच लगाएं और मेटाडेटा रखें
एक पैच का उपयोग करें और मूल लेखक और संदेश रखेंgit amउपयोग:
उदाहरण: मेटाडेटा के साथ पैच का उपयोग करें
git am 0001-some-change.patch
एक पैच को उलट दें
बैच फ़ाइल में परिवर्तन पूर्ववत करें:
उदाहरण: सिर का पैच
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