#!/bin/bash
# 12_rebase.sh - rebase ו-interactive rebase

# מצב התחלתי - feature מבוסס על main ישן
git switch feature/login

# main התקדם בינתיים - מסנכרנים
git fetch origin

# rebase על main העדכני
git rebase origin/main

# אם יש קונפליקטים:
# 1. פותרים אותם ידנית
# 2. git add <files>
# 3. git rebase --continue

# או ביטול
# git rebase --abort

# דחיפה אחרי rebase דורשת force (כי השתנו ה-SHAs)
git push --force-with-lease

# Interactive rebase - איחוד / עריכת commits
git rebase -i HEAD~5

# בעורך תקבל רשימה כמו:
# pick a3f5c2d Add login form
# pick b8e7f1a Fix typo
# pick c9d2e3b WIP
# pick d1f4a5b Add validation
# pick e2g5b6c Fix typo

# שינוי ל:
# pick a3f5c2d Add login form
# fixup b8e7f1a Fix typo
# fixup c9d2e3b WIP
# pick d1f4a5b Add validation
# fixup e2g5b6c Fix typo

# התוצאה: 2 commits נקיים במקום 5

# rebase על branch אחר
git switch feature/login
git rebase main
