चेरी-पिकिंग

एडवांस्ड Git

Amanda Crawford-Adamo

Software and Data Engineer

Cherry-pick क्या है?

किसी विशेष commit के बदलावों को दूसरी branch पर लागू करता है

एकल Commit को Cherry-Pick करें

git cherry-pick <commit-hash>

एक से अधिक Commits को Cherry-Pick करें

git cherry-pick <hash1> <hash2> ..

उद्देश्य

  • चुनिंदा bug fixes को branches में लागू करें
  • फीचर्स को stable वर्ज़न पर वापस लें
  • प्रयोगात्मक बदलावों को चयनित रूप से लगाएँ
  • खोए हुए commits रिकवर करें
एडवांस्ड Git

Cherry-Pick उदाहरण

main और feature दोनों का ग्राफ. Main में दो commits हैं. Feature branch, आखिरी commit के बाद main से अलग होती है.

Cherry-pick से पहले main और feature branch के लॉग दिखाती दो इमेज.

एडवांस्ड Git

Cherry-Pick प्रक्रिया

  1. main branch चेकआउट करें

    git checkout main
    
  2. feature branch से commit def456 के बदलाव लाने के लिए cherry-pick चलाएँ।

    git cherry-pick def456
    

main और feature दोनों का ग्राफ. Main में तीन commits हैं. Feature, दूसरे commit के बाद अलग होकर दो अतिरिक्त commits रखती है. Main का तीसरा commit, feature की आखिरी commit से cherry-picked है.

एडवांस्ड Git

Cherry-pick conflicts हल करना

Conflict resolution steps
  1. conflicting फाइलें मैन्युअली एडिट करें
  2. सुलझी फाइलें staging में जोड़ें git add <resolved-files>
  3. --continue फ्लैग चलाकर cherry-pick जारी रखें
git cherry-pick --continue
Cherry-pick रोकना

Cherry-pick ऑपरेशन रोकने के लिए --abort फ्लैग उपयोग करें

git cherry-pick --abort
एडवांस्ड Git

Cherry-pick कब उपयोग करें

उपयोग के मामले

  1. हॉटफिक्स लगाना
  2. अलग-थलग फीचर्स टेस्ट करना

सावधानियाँ

  1. डुप्लिकेट commits बना सकता है
  2. अधिक उपयोग पर प्रोजेक्ट हिस्ट्री जटिल हो सकती है
  3. बड़े बदलाव: merge या rebase पर विचार करें
एडवांस्ड Git

अभ्यास करते हैं!

एडवांस्ड Git

Preparing Video For Download...