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¶
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!