По сути, я просто хочу (пере) установить родителя (скажем, для фиксации A
) определенного коммита (commit B
), который является корневым коммитом некоторой ветви x
. Здесь предлагается здесь в одном из ответов, что я могу сделать это с помощью прививки. Я попробую это позже, может быть, это лучший способ.
Однако, прежде чем читать это, я подумал, что это должно быть возможно через rebase
. Но поскольку родительский коммит A
немного отличается от B
, и я просто хочу оставить всю ветку x
такой, какой она есть, просто установив родительский элемент в свой корневой коммит B
, я подумал, что мог бы использовать стратегия theirs
- которой, похоже, не существует. Я сталкивался с этим ранее (и думал, что это ошибка или в моей установке Git) и всегда просто обходил пути, переключая ветки и используя стратегию ours
. Однако с rebase
я вынужден использовать стратегию theirs
в этом случае.
Моя команда выглядит так:
git rebase -s theirs --onto A --root x x--rebased