Sobes.tech
Junior — Middle

Erklären Sie das Funktionsprinzip des Befehls 'git rebase' und worin er sich von 'git merge' unterscheidet.

sobes.tech KI

Antwort von AI

Der Befehl git rebase ermöglicht es, einen Zweig über einen anderen zu verschieben, indem die Commit-Historie so umgeschrieben wird, als ob die Änderungen auf einem neuen Zweig gemacht wurden. Dies hilft, eine lineare Historie ohne zusätzliche Merge-Commits zu erhalten.

Unterschiede zu git merge:

  • git merge verbindet Zweige, indem es einen neuen Merge-Commit erstellt und die Historie beider Zweige beibehält.
  • git rebase schreibt die Historie um, indem es die Commits verschiebt, was die Historie sauberer und linearer macht.

Beispiel:

git checkout feature
# Verschieben des Zweigs feature auf den aktuellen master
 git rebase master

Danach werden die Commits von feature so erscheinen, als ob sie auf dem letzten Commit von master erstellt wurden.

Wichtig: Es wird nicht empfohlen, rebase auf öffentliche Zweige anzuwenden, da dies die Historie ändert und Konflikte bei anderen Entwicklern verursachen kann.