It sounds good! I was using git version 2.7.4 all the time. I should have checked before posting here :) Now trying 2.20.1 >From "git help rebase": By default, or when no-rebase-cousins was specified, commits which do not have <upstream> as direct ancestor will keep their original branch point, i.e. commits that would be excluded by gitlink:git-log[1]'s --ancestry-path option will keep their original ancestry by default. If the rebase-cousins mode is turned on, such commits are instead rebased onto <upstream> (or <onto>, if specified). I am not sure if this criterion (which ancestors it has) will always produce the behavior I am looking for. I will have to experiment a bit. Thanks for now, I will post again with new thoughts once I have done some experiments. On Mon, 7 Jan 2019 at 17:42, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Andreas Hennings <andreas@xxxxxxxxxxx> writes: > > > This means we need a rebase operation where: > > - The commits of the acceptance branch itself are being replaced. > > - The commits of the feature branches remain as they are. > > > > A "git rebase --preserve-merges" almost does this, but not really. > > This wished-for feature sounds to me more like the "first-parent" > mode that has been discussed a few times in the past but never > materialized. > > The preserve-merges mode is getting abandoned by the original author > as unsalvageable. Have you tried the rebase-merges mode? That may > let you choose replaying only the merge commits on the acceptance > branch without touching the tips of the feature branches getting > merged.