Git & GitHub Professional Workflow · Lektion

Interaktives Rebasen für den Verlauf

Verwenden Sie Interactive Rebase, um den Commit-Verlauf umzuschreiben, Commits zusammenzuführen, neu anzuordnen oder Nachrichten vor dem Pushen zu bearbeiten.

Lektion 2 von 411 Schritte

Interaktives Rebasen für den Verlauf ist eine kostenlose Git & GitHub Professional Workflow-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Git & GitHub Professional Workflow-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Git & GitHub Professional Workflow-Kurs umfasst insgesamt 4 Lektionen.

Interaktives Rebase kennenlernen

Willkommen bei einem leistungsstarken Git-Tool: dem interaktiven Rebase! Damit können Sie die Commit-Historie Ihres Projekts überarbeiten, bevor Sie sie mit anderen teilen.

Stellen Sie es sich als eine Zeitmaschine für Ihre Commits vor: Sie können Änderungen aufräumen, zusammenfassen oder neu anordnen und so eine klare, lineare Geschichte Ihrer Arbeit erstellen.

Warum die Historie aufräumen?

Warum sollten Sie die Historie überarbeiten?

  • Übersichtlichkeit: Machen Sie das Commit-Protokoll Ihres Projekts leicht lesbar und verständlich.
  • Kompaktheit: Fassen Sie kleine, schrittweise vorgenommene Commits zu einer einzigen aussagekräftigen Änderung zusammen.
  • Fehlersuche: Eine aufgeräumte Historie hilft bei der Verwendung von Tools wie git bisect, um herauszufinden, wann ein Fehler eingeführt wurde.
  • Bessere Pull Requests: Präsentieren Sie Ihren Mitwirkenden eine ausgearbeitete Zusammenstellung von Änderungen.

Interaktives Rebase starten

Um ein interaktives Rebase zu starten, verwenden Sie den Befehl git rebase -i. Sie müssen angeben, wie weit Sie in der Historie zurückgehen möchten.

Um beispielsweise die letzten 3 Commits Ihres aktuellen Branches zu bearbeiten, verwenden Sie:

git rebase -i HEAD~3

Dadurch wird ein Editor geöffnet, der Ihre letzten 3 Commits und die verfügbaren Befehle anzeigt.

Befehle im Rebase-Editor

Wenn Sie ein interaktives Rebase starten, öffnet Git einen Texteditor mit einer Liste von Commits und Anweisungen. Jeder Commit beginnt mit einem Befehl:

  • pick: Den Commit unverändert übernehmen.
  • reword: Den Commit übernehmen, aber seine Nachricht bearbeiten.
  • edit: Den Commit übernehmen, aber anhalten, um Änderungen zu ergänzen.
  • squash: Mit dem vorherigen Commit zusammenführen und die Nachrichten zusammenfassen.
  • fixup: Mit dem vorherigen Commit zusammenführen und die Nachricht dieses Commits verwerfen.
  • drop: Den Commit vollständig entfernen.

Beispiel: Eine Commit-Nachricht umformulieren

Angenommen, Sie haben einen Tippfehler in einer Commit-Nachricht. Mit reword können Sie ihn korrigieren. Ändern Sie neben dem gewünschten Commit pick in reword:

pick 5a6b7c8 Add new feature
pick 1d2e3f4 Fix typo in docs
reword 9g0h1i2 Implement login screen

Nachdem Sie den Editor gespeichert und geschlossen haben, fordert Git Sie auf, die Nachricht des Commits 9g0h1i2 zu bearbeiten.

Beispiel: Commits zusammenfassen

Oft erstellen Sie mehrere kleine, zusammengehörige Commits, die eigentlich zu einem einzigen Commit zusammengefasst werden könnten. Verwenden Sie squash, um sie zusammenzuführen.

pick a1b2c3d Initial feature commit
squash e4f5g6h Add more details
fixup i7j8k9l Fix small bug

Hier wird e4f5g6h in a1b2c3d zusammengeführt und die Nachrichten werden kombiniert. Auch i7j8k9l wird in a1b2c3d zusammengeführt, seine Nachricht wird jedoch verworfen (fixup).

Beispiel: Commits entfernen

Wenn Sie einen experimentellen Commit nicht mehr benötigen, können Sie ihn mit drop einfach aus der Historie entfernen. Ändern Sie dazu pick in drop oder löschen Sie die Zeile vollständig:

pick 1122334 Initial setup
drop 5566778 Test experimental feature
pick 9900112 Add user authentication

Nach dem Speichern wird der Commit 5566778 vollständig aus der Historie Ihres Branches entfernt.

Beispiel: Commits neu anordnen

Sie können auch die Reihenfolge der Commits ändern. Schneiden Sie dazu einfach die Zeilen im Editor aus und fügen Sie sie an der gewünschten Stelle wieder ein. Git wendet die Änderungen in der neuen Reihenfolge an.

Ursprüngliche Reihenfolge:

pick abcdef1 Add feature A
pick 1234567 Add feature B

Neue Reihenfolge:

pick 1234567 Add feature B
pick abcdef1 Add feature A

Seien Sie vorsichtig: Eine neue Reihenfolge kann Konflikte verursachen, wenn Commits voneinander abhängen.

Die goldene Regel: Niemals eine gemeinsam genutzte Historie rebasen!

Das ist entscheidend: Rebasen Sie niemals Commits, die bereits in ein gemeinsam genutztes Remote-Repository (z. B. GitHub oder GitLab) gepusht wurden und möglicherweise von anderen abgerufen worden sind.

Beim Rebase werden Commit-IDs neu geschrieben. Wenn andere ihre Arbeit auf den ursprünglichen Commits aufgebaut haben, erscheinen Ihre rebasierten Commits als eine vollständig andere Historie. Das führt bei allen Beteiligten zu großen Konflikten und Verwirrung.

Rebasen Sie ausschließlich Commits, die nur in Ihrem lokalen Branch vorhanden sind!

Überprüfung der Rebase-Befehle

Sie haben drei Commits: A (Initial), B (Minor fix), C (Refactor). Sie möchten B in A zusammenführen, die ursprüngliche Nachricht von A beibehalten und anschließend C unverändert lassen. Welche Befehle würden Sie im interaktiven Rebase-Editor verwenden (vom ältesten zum neuesten)?

Zusammenfassung: Interaktives Rebase

Sie haben den leistungsstarken Befehl git rebase -i kennengelernt!

  • Damit können Sie Ihre lokale Commit-Historie überarbeiten.
  • Sie können Nachrichten mit reword umformulieren, Commits mit squash oder fixup zusammenführen, unerwünschte Änderungen mit drop entfernen und Commits sogar neu anordnen.
  • Denken Sie immer an die goldene Regel: Rebasen Sie NIEMALS Commits, die bereits in ein gemeinsam genutztes Remote-Repository gepusht wurden.

Wenn Sie interaktives Rebase beherrschen, können Sie die Historie Ihres Projekts übersichtlich und verständlich halten!

Kostenlos starten

Lerne Git & GitHub Professional Workflow mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
12
Lektionen
48

Häufig gestellte Fragen

Ist die Lektion „Interaktives Rebasen für den Verlauf“ kostenlos?

Ja — der vollständige Text von „Interaktives Rebasen für den Verlauf“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Git & GitHub Professional Workflow-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Git & GitHub Professional Workflow-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Interaktives Rebasen für den Verlauf“?

Verwenden Sie Interactive Rebase, um den Commit-Verlauf umzuschreiben, Commits zusammenzuführen, neu anzuordnen oder Nachrichten vor dem Pushen zu bearbeiten. Du übst Git & GitHub Professional Workflow mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Git & GitHub Professional Workflow zu starten?

Keine Vorkenntnisse erforderlich. Git & GitHub Professional Workflow auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Interaktives Rebasen für den Verlauf“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Git & GitHub Professional Workflow-Lektion Code schreiben und ausführen?

Ja. Jede Git & GitHub Professional Workflow-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Merge-Konflikte manuell lösen
  2. Interaktives Rebasen für den Verlauf
  3. Commits cherry-picken
  4. Git Rerere zur Wiederverwendung von Konfliktauflösungen verwenden
← Zurück zu Git & GitHub Professional Workflow