#!/bin/bash
# 13_cherry_pick.sh - העתקת commits ספציפיים בין branches

# מצב: יש תיקון חשוב ב-main שצריך גם ב-release/v1.0
git switch main
git log --oneline
# a3f5c2d Fix critical login bug   ← זה התיקון שאנחנו רוצים
# b8e7f1a Add new feature

# מעבר ל-release branch
git switch release/v1.0

# cherry-pick של ה-commit
git cherry-pick a3f5c2d

# cherry-pick עם הוספת מקור להודעה
git cherry-pick -x a3f5c2d

# cherry-pick של מספר commits
git cherry-pick a3f5c2d b8e7f1a

# cherry-pick של טווח (לא כולל את הראשון)
git cherry-pick a3f5c2d..b8e7f1a

# cherry-pick רק ל-staging בלי commit אוטומטי
git cherry-pick -n a3f5c2d
# עורכים אם צריך
git commit -m "Apply login fix from main, adapted for v1.0"

# אם יש קונפליקט
# 1. פותרים את הקבצים
# 2. git add <files>
# 3. git cherry-pick --continue

# או ביטול
# git cherry-pick --abort

# דחיפה
git push origin release/v1.0
