Git & Version Control

Git-SimulatorVerlauf vor dem Befehl verstehen

Wählen Sie ein Beispiel und sehen Sie die mögliche Topologie, ohne Git auszuführen.

Git-Simulator

Beispiel-Commit-Graph

AA: Gemeinsame BasisBB: main-ÄnderungmainCC: feature-ÄnderungDD: feature-Testfeature

A–D und Strichzeichen sind Lehr-IDs, keine echten Git-Hashes.

Verlaufsvorschau

Wählen Sie ein Beispiel und eine Operation; das Ergebnis erscheint hier.

Nur der feste Lehrgraph wird im Browser verarbeitet; Ihr Repository wird weder gelesen noch kontaktiert.

Optionen

Zielbranch: main · Quellbranch: feature

Ctrl/Cmd + Enter zeigt die gewählte Operation an.

Wählen Sie eine Operation für die Vorschau.

Dieser Graph modelliert feste Ein-Zeilen-Dateien, nicht Ihre Git-Merge-Strategie.

Ein Git-Simulator hilft, wenn sich aus einer Befehlszeile nicht erkennen lässt, welcher Branch-Zeiger sich bewegt. Im Beispiel teilen main und feature einen Ausgangscommit und entwickeln sich danach auseinander.

Der Fast-Forward-Fall und zwei Änderungen derselben Zeile machen die Grenzen eines reinen Commit-Verlauf sichtbar. Die Buchstaben sind didaktische IDs; der Entwurf kennt weder Ihre echten Referenzen noch den Zustand des Arbeitsverzeichnisses.

Warum diesen Git-Simulator verwenden?

Drei Operationen am selben Ausgangspunkt

Der Git-Simulator trennt den Merge-Commit mit zwei Eltern von den neu abgespielten Rebase-Commits. Wer Git visualisieren möchte, sieht auch, warum Cherry-Pick nur einen ausgewählten Commit kopiert.

Zwei Commit-Linien gehen von einem gemeinsamen Knoten aus und werden durch einen neuen Knoten mit zwei Eltern verbunden.

Ein Konflikt mit nachvollziehbarem Beispiel

Die Konfliktszene vergleicht eine festgelegte Zeile in app.js auf beiden Seiten. Sie erklärt den Halt im Beispiel, nicht den tatsächlichen Merge-Konflikt in einem unbekannten Repository.

Zwei Branches ändern dieselbe Dateizeile verschieden; vor einem neuen Commit erscheint ein Warnsymbol.

Den Verlauf in drei Schritten lesen

01

Fast-Forward prüfen

Ist main ein Vorfahr von feature, verschiebt Merge nur den main-Zeiger. Ein zusätzlicher Commit mit zwei Eltern entsteht erst beim auseinander gelaufenen Beispiel.

02

Kopien statt Verschiebung erkennen

Rebase spielt C und D als C′ und D′ auf main neu ab. Cherry-Pick kopiert nur C oder D auf main; der ursprüngliche feature-Zeiger bleibt unverändert.

03

Einen aktuellen Entwurf exportieren

Nach jeder Änderung wird das vorige Ergebnis ungültig und Kopieren oder Download gesperrt. Ctrl/Cmd + Enter erstellt eine neue Vorschau; ersetzen Sie danach die Beispielnamen und den Hash-Platzhalter.

Was im Graphen wirklich wechselt

Merge oder Rebase vergleichen

Ein divergierter Merge ergänzt einen Knoten mit zwei Eltern, während Rebase die feature-Folge neu erzeugt. Die ursprünglichen Knoten werden hier nicht stillschweigend umbenannt.

Einzelnen Commit auswählen

Cherry-Pick nimmt genau den gewählten Commit. Im Fast-Forward-Beispiel bewegt ein Merge dagegen nur den Zeiger. So bleibt der Unterschied zwischen Auswahl und Integration sichtbar.

Konflikt am festen Dateiinhalt erklären

Die Seite zeigt Basis, aktuellen Stand und eingehende Zeile des vorbereiteten app.js-Beispiels. Sie bearbeitet keine echte Datei und berechnet keine Konfliktwahrscheinlichkeit.

Grenzen dieses Lehrmodells

Kein Zugriff auf Ihr Repository
Der Git-Simulator liest weder git log noch lokale Pfade oder Remotes und führt keinen Befehl aus. Uncommittete Änderungen, Rechte und Serverregeln bleiben unbekannt.
Keine Freigabe für produktive Befehle
Ein Commit-Verlauf im Beispiel sagt nichts über geteilte Branches oder Teamabsprachen. Prüfen Sie vor einem Rebase die echten Referenzen und ob andere die Geschichte bereits verwenden.
Nur ein fester Ein-Zeilen-Konflikt
Die eingebaute app.js-Szene vergleicht bekannte Werte. Git kann Textstellen, Umbenennungen und Strategien anders behandeln; Konfliktlösung und --continue finden hier nicht statt.
Keine freie Git-Shell
Push, Pull, Stash, Squash, Revert und beliebige Befehle werden nicht simuliert. Dafür wären Repository-Daten erforderlich, die der feste Graph bewusst nicht besitzt.

Fragen zum Git-Simulator

Was ist der Unterschied zwischen Git Merge und Rebase?

Merge erhält die alte Verzweigung und ergänzt bei Divergenz einen Commit mit zwei Eltern. Rebase spielt die feature-Commits auf einem neuen Ausgangspunkt ab und erzeugt neue Objekte. Der Git-Simulator zeigt beide Formen.

Wann sollte man Rebase verwenden?

Für eigene, noch nicht geteilte Commits kann Rebase einen linearen Verlauf schaffen. Bei gemeinsam genutzter Geschichte erfordert das Umschreiben Abstimmung; dieses Beispiel kennt Ihre Zusammenarbeit nicht.

Warum kann Rebase einen Merge-Konflikt auslösen?

Jeder Commit wird erneut auf den aktuellen Zielstand angewandt. Treffen seine Änderungen auf unvereinbare Dateiinhalte, stoppt Git zur manuellen Lösung. Hier wird nur der vorbereitete app.js-Fall erklärt.

Was macht git cherry-pick mit dem kopierten Commit?

Git wendet die Änderung eines ausgewählten Commits auf dem aktuellen Branch an und legt normalerweise einen neuen Commit an. Der ursprüngliche Commit bleibt an seinem alten Platz; die didaktischen Striche sind keine echten Hashes.

Ein Git Feature Branch ist veraltet – was tun?

Im Beispiel können Sie Merge und Rebase vergleichen und sehen, welcher Zeiger oder Commit sich ändert. In einem echten Projekt sollten Sie zuerst den Branch-Status, uncommittete Arbeit und Teamregeln prüfen; der Entwurf entscheidet nicht für Sie.

Weicht die Vorschau von Ihrer Gerätedokumentation ab?

Git-Simulator jetzt ausprobieren

Vergleichen Sie Merge, Rebase und Cherry-Pick am selben Graphen und prüfen Sie den festen Konfliktfall, bevor Sie echte Referenzen in einen Entwurf einsetzen.