Git Rebase
Zuletzt aktualisiert
git rebase verschiebt die Commits deines Branches, sodass sie oben auf einem anderen Branch neu abgespielt werden, und erzeugt eine gerade, lineare Historie statt eines Merge-Commits. Interaktives Rebase (-i) geht weiter und lässt dich Commits zusammenfassen, umsortieren, bearbeiten oder verwerfen. Da Rebasing Commits umschreibt, mach das nur bei Arbeit, die du noch nicht geteilt hast.
Probiere das im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git rebase main | Spielt deine Commits oben auf main neu ab |
git rebase -i HEAD~3 | Bearbeitet interaktiv die letzten 3 Commits |
git rebase --onto main old new | Verschiebt einen Bereich von Commits auf main |
git rebase --continue | Setzt nach dem Lösen von Konflikten fort |
git rebase --abort | Bricht das Rebase ab und stellt den Branch wieder her |
git pull --rebase | Macht pull und rebase statt merge |
Schlüsselwörter des interaktiven Rebase
Ändere im Editor, den -i öffnet, pick in eines von diesen.
| Keyword | What it does |
|---|---|
pick | Behält den Commit |
reword | Behält den Commit, bearbeitet seine Nachricht |
squash | Faltet in den vorherigen Commit, führt Nachrichten zusammen |
fixup | Faltet ein, verwirft diese Nachricht |
drop | Entfernt den Commit vollständig |
Git rebase FAQ
Was macht git rebase?
Was ist interaktives Rebase?
git rebase -i <base> öffnet einen Editor, der die Commits seit <base> auflistet, in dem du sie umsortieren, mehrere zu einem squashen, Nachrichten reworden, einen Commit editen oder ihn droppen kannst. Es ist das wichtigste Werkzeug, um eine unordentliche Reihe von Commits vor dem Teilen aufzuräumen.Was ist die goldene Regel des Rebasing?
Wie behebe oder breche ich ein Rebase mit Konflikten ab?
git add für sie und führe dann git rebase --continue aus. Verwende git rebase --skip, um den aktuellen Commit zu verwerfen, oder git rebase --abort, um vollständig abzubrechen und den Branch in den Zustand vor dem Start des Rebase zurückzuversetzen.Kann ich das online üben?
git rebase in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt Rebasing ebenfalls Schritt für Schritt.