Merge-Specials

Merge vs. Rebase

Beim Zusammenführen von unterschiedlichen Zuständen desselben Branches gibt es zwei unterschiedliche Philosophien, deren genauere Betrachtung wichtig ist.

Siehe (z.B.): Git team workflow: merge or rebase? - Oct 25, 2018 by LJ MIRANDA

Merge vs. Rebase

Merge vs. Rebase

Quelle: Git Merge vs Git Rebase by Soumyajit Dutta

Spezialthema: Rerere

Bedeutet Reuse Recorded Resolution und heißt, dass man Konfliktlösungen in diesem Modus speichern lassen und somit bei gleichen Konflikten dann auch automatisiert anwenden lassen kann.

Für diese Technik braucht man: git config --global rerere.enabled true

Diese Technik wird häufig bei langen (zum master parellelen) Topic-Branches benutzt, um nicht erst am Ende feststellen zu können, wie gut man mergen kann.

Auch beim sogenannten Rebase mit Git (siehe Commits verschieben / nachbearbeiten) kann diese Technik eingesetzt werden.

Spezialthema: Cherry-Pick

Hier sucht man sich zu mergen nur gezielt den oder die gewünschten Commits aus einem anderen Branch heraus.

Beispielhafte Aufrufe:

$ git cherry-pick d0c915d            # 1 Commit
$ git cherry-pick topic~5 topic~1    # 2 Commits
$ git cherry-pick topic~5..topic~1   # Commits einer Range

Gefahr

Nach Cherry-Picks können komplette Merges später Konflikte hervorrufen!