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.
Git & Version Control
Wählen Sie ein Beispiel und sehen Sie die mögliche Topologie, ohne Git auszuführen.
A–D und Strichzeichen sind Lehr-IDs, keine echten Git-Hashes.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Die Seite zeigt Basis, aktuellen Stand und eingehende Zeile des vorbereiteten app.js-Beispiels. Sie bearbeitet keine echte Datei und berechnet keine Konfliktwahrscheinlichkeit.
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.
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.
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.
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.
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?
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.