Git Cherry-Pick

1 دقيقة

جدول المحتويات

  1. ما هو cherry-pick؟
  2. ممارسة سريعة
  3. سيناريو الاستخدام
  4. أوامر أساسية

1. ما هو cherry-pick؟

Git cherry-pick = نسخ إيداع محدَّد من فرع إلى آخر.

مثال ملموس:

  • على feature-login: إيداع إصلاح خطأ حرج
  • على main: تريد هذا الإصلاح فقط، لا الفرع كله
  • الحل: git cherry-pick <commit-hash>

العودة إلى جدول المحتويات

2. ممارسة سريعة

إنشاء المشروع:

bash
mkdir demo-cherry-pick && cd demo-cherry-pick
git init

echo "print('v1')" > app.py
git add . && git commit -m "Version initiale"

# إنشاء فرع ميزة
git checkout -b feature-new
echo "print('v2-feature')" > app.py
git add . && git commit -m "Nouvelle fonctionnalité"

echo "print('v2-bugfix')" > app.py
git add . && git commit -m "Fix critique"

# العودة إلى main و cherry-pick للإصلاح فقط
git checkout main
git cherry-pick <hash-du-commit-bugfix>

هذا كل شيء! الإصلاح على main، بلا الميزة.

العودة إلى جدول المحتويات

3. سيناريو الاستخدام

وضع نموذجي:

  1. تطوير على feature-branch
  2. خطأ حرج اكتُشف وأُصلح
  3. الإنتاج (main) يحتاج الإصلاح الآن
  4. لكن ليس الميزة كلها قيد التطوير

الحل:

bash
git log --oneline feature-branch    # إيجاد تجزئة الإصلاح
git checkout main
git cherry-pick abc123f             # تطبيق هذا الإيداع فقط

العودة إلى جدول المحتويات

4. أوامر أساسية

الأمرالإجراء
git cherry-pick <hash>نسخ إيداع
git cherry-pick <hash1> <hash2>نسخ عدة إيداعات
git cherry-pick --continueالمتابعة بعد حل تعارض
git cherry-pick --abortإلغاء العملية

هذا كل شيء! Cherry-pick بسيط: إيداع واحد → نسخة واحدة.

العودة إلى جدول المحتويات