⊗gtPmBrCSR 44 of 66 menu

Einfaches Rebase von Commits in Git

Das Git-System bietet zwei Möglichkeiten, Änderungen bei der Arbeit mit Branches vorzunehmen: Merge und Rebase.

Der Vorteil eines Rebases ist, dass der Commit-Verlauf beider Branches, im Gegensatz zu einem Merge, linearer und einfacher für das Verständnis der Teammitglieder, die an einem Projekt arbeiten, aussieht.

In Git erfolgt ein Merge, ausgeführt mit dem Befehl merge, als ein dreiseitiges Zusammenführen der letzten Änderungen der beiden zu mergenden Branches und der neuesten Momentaufnahme des übergeordneten Branches, der für diese zu mergenden Branches gemeinsam ist. Dabei werden nur die endgültigen Momentaufnahmen der Branch-Commits gemergt, nicht deren gesamter vorheriger Verlauf.

Rebase bedeutet, die Änderungen aus einem Branch (dem aktuellen) auf einen anderen Branch (der mit dem aktuellen gemergt wird) anzuwenden. Lassen Sie uns einen Branch test erstellen, in dem wir eine neue Datei file.txt anlegen, sie stagen und einen Commit durchführen:

git branch test git switch test git add file.txt git commit -m "commit from branch test"

Wechseln wir nun zum Branch test und rebasen ihn relativ zum Hauptbranch master:

git checkout test git rebase master

Der Rebase-Prozess selbst läuft folgendermaßen ab: Zuerst erstellt Git eine Momentaufnahme des übergeordneten Branches master, die in einer temporären Datei gespeichert wird. Dann fügt der aktuelle Branch test seine Änderungen nach dem letzten Commit des Branches master ein. Nun wird der Commit-Verlauf des Hauptbranches so aussehen:

Nach dem Rebase wird der Commit-Verlauf des Branches test ebenfalls ähnlich wie der des Branches master aussehen.

Danach kann man zum Branch master wechseln und einen Fast-Forward-Merge durchführen, d.h. master wird wieder der Hauptbranch und beinhaltet alle Änderungen aus dem Branch test:

git merge test

Erstellen Sie zwei Branches test1 und test2, in denen jeweils drei Commits für verschiedene Dateien vorhanden sind, und führen Sie dann deren Zusammenführung durch einfaches Rebase durch.

Deutsch
БеларускаяEnglishEspañolFrançaisPortuguêsРусский
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen