Die akzeptierte Antwort behauptet
Der Rebase-Pull-Vorgang kann nicht konfiguriert werden, um Merges zu erhalten.
aber ab Git 1.8.5, das nach dieser Antwort erschienen ist, können Sie
git pull --rebase=preserve
oder
git config --global pull.rebase preserve
oder
git config branch..rebase preserve
Die Dokumentation sagt
Wenn preserve,
wird auch --preserve-merges
an 'git rebase' übergeben, so dass lokal durchgeführte Merge-Commits nicht durch 'git pull' flattgedrückt werden.
Diese frühere Diskussion enthält ausführlichere Informationen und Diagramme: git pull --rebase --preserve-merges. Sie erklärt auch, warum git pull --rebase=preserve
nicht dasselbe ist wie git pull --rebase --preserve-merges
, was nicht das Richtige tut.
In dieser anderen früheren Diskussion wird erklärt, was die Variante preserve-merges des Rebase tatsächlich tut und warum sie viel komplexer ist als ein regulärer Rebase: Was tut genau git's "rebase --preserve-merges" (und warum?)