Как сохранить только изменения головы в git rebase
Я сейчас в середине длительный перебазировать пройдя через десяток коммитов. Я структурировал вещи в своем процессе разработки так, что только изменения от HEAD Это то, что я хочу сохранить-все остальные конфликты (например, commit hash b06a1dd) следует исключить.
есть ли способ, чтобы просто удалить все изменения, связанные с >>>>>>> b06a1dd и сохраните изменения, которые git будет помечать <<<<<<< HEAD одним махом, поэтому мне не нужно продолжать печатать git rebase --continue, дело с больше конфликтов больше совершайте хэши, и только держите HEAD изменения?
2 ответов
если вы готовы начать перебазирование (git rebase --abort), тогда это должно сделать то, что вам нужно:
git rebase -X ours upstream
здесь upstream - это ветвь, на которую вы перебазируетесь.
как отметил в ответ и в других местах,ours и theirs метки немного более запутанны для перебазирования, чем для слияния. После начала перебазироваться, git создает анонимную ветку и начинает применять совершает его. С ours означает "сохранить изменения из текущего ветвь", что текущая ветвь будет HEAD, которая содержит upstream и любые изменения, уже примененные rebase.
для полноты, это то, что я узнаю из предыдущего ответа и комментариев в текущем Q&A (кредит идет их авторам):
- если вы готовы начать все сначала и выберите ту же сторону для всех коммитов, текущий выбранный ответ
git rebase --abortа тоgit rebase -X ours upstreamможет сделать трюк. -
но я думаю, на практике вы не захотите слепо использовать либо
oursилиtheirsне заглядывая в каждый совершает. Вы бы хочу примите индивидуальное решение для каждого коммита, когда "в середине длинного rebase". Итак, ваши фактические варианты будут:-
использовать апстрим:
git checkout --ours path/to/a/specific/file git add path/to/a/specific/fileили еще лучше, в этом случае вы просто используете этот:
git reset HEAD path/to/a/specific/file -
используйте свою ветку функций:
git checkout --theirs path/to/a/specific/file или сделайте это вручную, чтобы обратиться к каждому
<<<< ... ==== ... >>>>в вашей редактор.
-
PS:на ours и theirs имеют особое значение при выполнении rebase.