Junior — Middle
Εξηγήστε τη λειτουργία της εντολής 'git rebase' και σε τι διαφέρει από το 'git merge'.
sobes.tech AI
Απάντηση από AI
Η εντολή git rebase επιτρέπει τη μετακίνηση μιας κλάδου πάνω από μια άλλη, ξαναγράφοντας την ιστορία των commits σαν να έγιναν οι αλλαγές σε μια νέα κλάδο. Αυτό βοηθά στην απόκτηση μιας γραμμικής ιστορίας χωρίς επιπλέον commits συγχώνευσης.
Διαφορές με το git merge:
- Το
git mergeενώνει κλάδους δημιουργώντας ένα νέο commit συγχώνευσης, διατηρώντας την ιστορία και των δύο κλάδων. - Το
git rebaseξαναγράφει την ιστορία, μετακινώντας τα commits, καθιστώντας την ιστορία πιο καθαρή και γραμμική.
Παράδειγμα:
git checkout feature
# Μετακινούμε τον κλάδο feature πάνω στον ενημερωμένο master
git rebase master
Μετά από αυτό, τα commits του feature θα φαίνονται σαν να δημιουργήθηκαν πάνω στο τελευταίο commit του master.
Σημαντικό: δεν συνιστάται η χρήση rebase σε δημόσιους κλάδους, καθώς αλλάζει την ιστορία και μπορεί να προκαλέσει συγκρούσεις με άλλους προγραμματιστές.