У меня есть две независимые ветки в моем репозитории Git:
A---B---C branch "old"
X---Y---Z branch "master"
Я хочу создать следующую историю:
A---B---C---X---Y---Z
Я попробовал это с помощью следующей команды перебазирования (текущая ветвь — «мастер»):
git rebase --strategy=recursive --strategy-option=theirs old master
Это не удается с:
First, rewinding head to replay your work on top of it...
fatal: Could not parse object 'fb56e6e20ea4a605503732df1f5a0a407808dffa^'
fb56e6
— это первый коммит «старой» ветки.
В качестве альтернативы я использовал команду Cherry Pick (текущая ветка — «мастер»):
git rev-list --reverse old | git cherry-pick --stdin --keep-redundant-commits -X theirs
Это прекрасно работает, но все коммиты получают новый «коммиттер». Есть ли способ сказать Cherry Pick, что он не должен устанавливать коммиттер? Если нет, есть ли способ добиться того, чего я хочу, с помощью rebase?