Применить одинаковые изменения к разным веткам - PullRequest
0 голосов
/ 20 февраля 2019

Как применить одинаковые изменения (в нескольких коммитах) к разным ветвям?

Прежде всего, это отличается от Как копировать коммиты из одной ветви в другую? какцель другая, поэтому ответ на этот вопрос был специфическим .

У меня есть проект с основной веткой и стабильной веткой - ветки давно разошлись.Теперь мне нужно перенести исправление в эту ветку стабильного выпуска - у меня есть пара коммитов в основной ветке, которые я также хочу иметь в стабильной ветке (исправление ошибки).Я не могу слиться, так как ветви разошлись, и есть множество неотложенных изменений - я просто хочу свои 8 коммитов.

На самом деле ответ от Как выбрать диапазон коммитов и слиться в другую ветку? ближе к тому, что я ищу,

Однако этот ответ начинается с:

Когда дело касается диапазона коммитов, сбор вишни не был практичным.

и не дал четкой git команды для людей, чтобы следовать.

ОБНОВЛЕНИЕ: предлагаемый ответ GIT cherry выбирает все мои коммиты, которые существуют в одной ветке в другую ветку не решает мою проблему, как я объяснил в комментарии сразу - этот вопрос, "Я хочу выбрать вишню все коммиты, которые еще не существуют в ветви A из ветви B в ветвь A без необходимости вручную искать каждый ", отличается от того, что я здесь спрашиваю.

1 Ответ

0 голосов
/ 20 февраля 2019

Когда дело доходит до диапазона коммитов, сбор вишни был непрактичным.

«Проблема», если вы можете так ее назвать, заключается в том, что если вы хотите выбратьнесколько коммитов, и они в последовательности, это отличное решение.

Но если вы хотите исключить несколько коммитов, вам нужно cherry-pick их в сегментах.

Например: учитывая следующие коммиты: 1-2-3-4-5-6-7-8-9 если вы хотите cherry-pick 1-3 и 5-7, вам нужно разбить его на сегменты:

git cherry-pick 1.. 3 5..7

Итак, что за команда git clear выбирает диапазон моегосовершает?

Вышеприведенная команда.

# (2 dotes) Pick all commits in the range from a to be 
git cherry-pick a..b

# (3 dotes) pick all commits which are not in both branches
git cherry-pick a...b

# pick a single commit
git cherry-pick a

# pick commit range(s)
git cherry-pick 1..3 5 6 7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...