Ein Interactive Rebase ist eine erweiterte Funktion des Versionskontrollsystems Git, mit der du mehrere Commits in einem Branch überarbeiten, neu anordnen, zusammenführen oder löschen kannst. Im Gegensatz zu einem normalen Rebase, bei dem die Commits einfach auf einen neuen Basis-Commit „umgehängt“ werden, bietet ein interaktiver Rebase die Möglichkeit, jeden Commit in der Rebase-Reihe individuell zu bearbeiten.
main
oder master
) kannst du die Commit-Historie bereinigen, indem du unnötige Commits zusammenführst oder entfernst.Angenommen, du möchtest die letzten 4 Commits eines Branches bearbeiten, führst du folgendes Kommando aus:
git rebase -i HEAD~4
1. Auswahl der Commits:
pick
markiert, gefolgt von der Commit-Nachricht.Beispiel:
pick a1b2c3d Commit message 1
pick b2c3d4e Commit message 2
pick c3d4e5f Commit message 3
pick d4e5f6g Commit message 4
2. Bearbeiten der Commits:
pick
-Befehle durch andere Schlüsselwörter ersetzen, um verschiedene Aktionen durchzuführen:
pick
: Behalte den Commit unverändert.reword
: Ändere die Commit-Nachricht.edit
: Stoppt das Rebase, damit du Änderungen am Commit vornehmen kannst.squash
: Kombiniere den Commit mit dem vorherigen.fixup
: Kombiniere den Commit mit dem vorherigen, ohne die Commit-Nachricht zu behalten.drop
: Entferne den Commit.Beispiel für eine bearbeitete Liste:
pick a1b2c3d Commit message 1
squash b2c3d4e Commit message 2
reword c3d4e5f New commit message 3
drop d4e5f6g Commit message 4
3. Speichern und Ausführen:
4. Konflikte lösen:
git rebase --continue
fortsetzen.Interactive Rebase ist ein mächtiges Werkzeug in Git, das es ermöglicht, die Commit-Historie zu bereinigen, zu reorganisieren und zu optimieren. Es erfordert etwas Übung und Verständnis der Git-Konzepte, bietet aber eine große Flexibilität, um die Geschichte eines Projekts klar und nachvollziehbar zu gestalten.