Sobes.tech
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 σε δημόσιους κλάδους, καθώς αλλάζει την ιστορία και μπορεί να προκαλέσει συγκρούσεις με άλλους προγραμματιστές.