Вишня во время ребасе - PullRequest
       4

Вишня во время ребасе

1 голос
/ 10 января 2020

Я бэкпортирую коммиты на локальный экземпляр ядра Linux. Давайте назовем ветви Upstream и Local .

Я выбрал серию коммитов, скажем, Upstream ~ 10..Upstream на Местный . Я исправил конфликты, и теперь я интерактивно перебазирую, чтобы редактировать коммиты, чтобы вещи действительно создавались и работали [1]. Мне нужно добавить зависимости (и транзитивные зависимости) из серии коммитов.

Когда я выбираю вишню во время интерактивной перебазировки, она сбрасывает коммит на мою стадию, а не вставляет коммит в дерево после совершить, что я выбрал для редактирования. Как мне выполнить sh это или что-то подобное?

Я могу вспомнить некоторые плохие варианты, но не хорошие:

  1. Ручная фиксация: копия вставьте старое сообщение о коммите, исправьте автора / et c, а затем исправьте порядок исправлений (зависимости должны, вероятно, сначала go).
  2. Прервите перебазирование, cherry-pick commit, и перезапустите интерактивную перебазировку (и переместите выбранную вишню зависимость на передний план).
  3. Вариант 2, но вставьте любую частичную работу в sta sh и git rebase --continue до конца вместо использования прерывания.
  4. Снизить и изменить зависимость от коммита, который я редактирую.

Ни один из этих вариантов не кажется великолепным, и кажется, что должно быть что-то лучше. В частности, если я начинаю перебазирование и перебазирование, я понимаю, что мне нужен определенный коммит. Есть ли способ обойти это? Вариант 3, вероятно, то, что я в конечном итоге сделаю, но он кажется немного утомительным.

Вероятно, ответ - нет, так как выбор вишни во время перебазирования может потребовать от вас вложения сеансов слияния-разрешения-конфликта ( не уверен, есть ли название для этого), и это звучит довольно трудно для git для реализации.

[1] Если бы я был мудрее, я бы, вероятно, сделал бы это во время первоначального выбора вишни, но я не уверен, что сделал бы что-то по-другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...