Слияние совершить должны иметь двух родителей. В этом весь смысл слияния.
Если у вас есть действительно хорошая причина для желания слияния только с одним родителем, вы можете использовать --squash
вариант:
# starting with branch-full-reordering at "Corrected GPU float measures"
git merge --squash branch-full-reordering-wo-auxarray-wo-diver
# go on to make the "improve performance commit"
, но это очень, очень редко, что вы хотите. Он отбрасывает всю работу, выполненную на этой другой ветке, в коммит-слияние, уничтожая историю.
История, которую вы описываете, однако, не является слиянием вообще, сквошем или иным способом. Это перестановка.
# starting with branch-full-reordering at "Corrected GPU float measures"
git rebase branch-full-reordering branch-full-reordering-wo-auxarray-wo-diver
# go on to make the "improve performance commit"
В этом случае не будет никаких слияния совершить - вы просто пересадили (нормированный) вторичную ветвь на первичного.
Я должен еще раз подчеркнуть: история, в которой вы оказались, скорее всего, вы хотите. Он регистрирует тот факт, что некоторые разработки имели место на боковой ветви, затем слился обратно в
пересмотреть историю, чтобы выглядеть так, как вы хотите, вы могли бы сделать что-то вроде этого:.
# recreate your topic branch
git branch topic <SHA1 of commit "Correct pesky bug">
# overkill: you could also specify that as branch-full-reordering^^2
# which means the second parent of the [first] parent of the branch tip
# rebase the topic branch like you meant to in the first place :)
# ~2 means two commits before
# you could also just use the SHA1 of commit "Corrected GPU float measures"
git rebase branch-full-reordering~2 topic
# rebase the main branch onto the topic
# the merge will be ignored, so this will just move the "Improve performance" commit
git rebase topic branch-full-reordering
# delete the topic branch
git branch -d topic
Imageshack больше не воспроизводит скриншоты – janv8000
@ janv8000 К сожалению, это очень неудачно. У меня больше нет копии скриншотов, и Internet Wayback Machine здесь не очень помогает. Тем не менее этот вопрос по-прежнему интересен. Но спасибо за это. – Auron