Menu
Coddy logo textTech

Drei-Wege-Merge

Teil des Abschnitts Versionsverwaltung der Terminal-Journey von Coddy. Lektion 36 von 58.

Wenn sich beide Zweige unabhängig voneinander weiterentwickelt haben, kann Git nicht einfach einen Fast-Forward durchführen. Stattdessen führt es einen Three-Way-Merge durch: Es betrachtet den gemeinsamen Vorfahren und die beiden Spitzen der Zweige und erstellt einen neuen Commit, der sie zusammenführt.

Dieser neue Commit ist der Merge-Commit. Er hat zwei Eltern-Commits, einen aus jedem Branch:

git switch main
git merge feature -m "Merge feature"

Das -m-Flag stellt die Merge-Commit-Nachricht direkt bereit, sodass Git keinen Editor öffnet.

Meistens kann Git die Änderungen aus beiden Branches automatisch zusammenführen, solange sie unterschiedliche Teile der Dateien betreffen. Konflikte treten nur auf, wenn beide Branches dieselben Zeilen geändert haben, was das Thema der nächsten Lektion ist.

challenge icon

Aufgabe

Mittel

Du beginnst in einem neuen Ordner mit top.txt (Inhalt: a) und bottom.txt (Inhalt: b).

Initialisiere das Repo, erstelle einen ersten Commit und dann:

  1. Erstelle den Branch feature und hänge die Zeile added an top.txt an; committe.
  2. Wechsle zu main und hänge die Zeile added an bottom.txt an; committe.
  3. Führe feature in main mit der Nachricht Merge feature zusammen.

Gib die Anzahl der von HEAD aus erreichbaren Commits mit git rev-list --count HEAD aus. Die erwartete Anzahl ist 4 (initial + feature + main + merge).

Probier es selbst

Terminal
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Versionsverwaltung

Übe selbstständig: Terminal-Playground