Fast-Forward-Merges¶
Ein Fast-Forward-Commit ist eine häufig bei Einzelprojekten entstehende Merge-Logistik.
Wenn man z. B. einfach von unterschiedlichen Projektumgebungen und alleine auf einem zentralen, öffentlichem Repository arbeitet, dann setzt man mit wechselnden Aktualisierungen (push) und Herunterladen (pull) von Git Repositories immer wieder mit den lokalen Entwicklungszweigen oben fort.
Hierzu eine passende Grafik: (wieder gitbu.ch)
Zwei Branches vor FF-Merge¶
Wenn man jetzt git merge durchführt erhält man:
Zwei Branches nach FF-Merge¶
Im Grunde kein Problem, denn alle notwendigen Dateien und Ordner wurden (sicherlich) sauber verschmolzen.
Aber: der verschmolzene master wird einfach nur gerade gezogen
und somit ist nachträglich im git log der frühere Zweig nicht mehr erkennbar.
Daher kennt man folgende Parameter, um das gewünschte Merge-Verhalten zu steuern:
Parameter
--no-ff(kein Fast-forward)Parameter
--ff-only(Fast-Forward nutzen)
Hier das Git-Logging in den zwei möglichen Varianten:
Merging mit und ohne Fast-Forward¶
Für das Standardverhalten beim Mergen kann man Git Konfigurationen nutzen.
Git Dokumentation zur Configuration Git Merge: https://git-scm.com/docs/git-merge#_configuration