Merge-Commit¶
In dem vorliegenden Beispiel gibt es also einen Entwicklungszweig topic, der quasi parallel zum Hauptzweig master entwickelt wird. Die genauen Vorgehensweisen von Git beim mergen kann man der weiterführenden Literatur entnehmen. Hier in Kürze:
Eine Datei aus den Commits besitzen verschiedene Blobs - weichen also in den beiden Zweigen ab.
Ist Blob mit der Merge-Basis gleich, dann muss nur die Änderung im zu verschmelzenden Commit eingearbeitet werden.
Wenn sich beide Blobs einer Datei von der Merge-Basis unterscheiden, versucht Git beide Änderungen in der Datei einzuarbeiten (techn.: 3-Wege-Merge-Algorithmus).
Für die strategische Umsetzung kennt Git folgende Vorgehensweisen:
resolve
recursive (Standard)
octopus
ours
subtree
Die Standard-Option recursive (zwei Branches) kann
mit -X ... noch Optionen bekommen:
ourstheirsignore-space-change, ignore-all-space, ignore-space-at-eolsubtree=Verzeichnis
Link zur Dokumentation: https://git-scm.com/docs/git-merge