Junior — Middle
Erklären Sie das Funktionsprinzip des Befehls rebase im Versionskontrollsystem Git und worin er sich von merge unterscheidet.
sobes.tech KI
Antwort von AI
Der Befehl git rebase wird verwendet, um eine Reihe von Commits auf eine neue Basis zu verschieben oder 'umzuschreiben', also auf einen anderen Commit. Er ermöglicht es, Änderungen aus einem Zweig zu nehmen und sie 'überzuspielen' auf einen anderen Zweig, wodurch eine lineare Historie ohne zusätzliche Merge-Commits entsteht.
Unterschiede zu git merge:
- git merge verbindet zwei Zweige und erstellt einen neuen Merge-Commit, der die Historie beider Zweige mit Verzweigungen erhält.
- git rebase verschiebt die Commits eines Zweigs an die Spitze eines anderen, schreibt die Historie um und macht sie linear.
Beispiel:
Wenn du einen Zweig feature hast, der von master abzweigt, und master aktualisiert wurde, dann:
git merge masterin feature erstellt einen Merge-Commit, der die Änderungen zusammenführt.git rebase masterin feature verschiebt deine Commits über den aktuellen Stand von master, als hättest du die Arbeit vom letzten Stand von master aus begonnen.
Rebase ist nützlich, um eine saubere Historie zu bewahren, erfordert aber Vorsicht bei der Arbeit mit öffentlichen Zweigen, um die gemeinsame Historie nicht umzuschreiben.