У меня есть две независимые ветви в моем хранилище 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
является первым фиксатором «старой ветви».
В качестве альтернативы я использовал команду вишневого подборщика (текущая ветвь «мастер»):
git rev-list --reverse old | git cherry-pick --stdin --keep-redundant-commits -X theirs
Это прекрасно работает, но все совершает получить новый «коммиттер». Есть ли способ сказать, что вишневый выбор не должен устанавливать коммиттера? Если нет, есть ли способ добиться того, что я хочу с помощью переустановки?
Что вы подразумеваете под "независимыми"? Встречаются ли они где-нибудь в истории? – choroba
Нет, они не встречаются (я думаю, что проблема в том, что git rebase натыкается) –
Возможно [git-reparent] (https://github.com/MarkLodato/git-reparent)? – larsks