Каков наилучший способ объединить ветку в master и другую ветку? - PullRequest
1 голос
/ 04 октября 2019

Контекст :

Я создал ветвь (назовем ее new-feature), основываясь на master. Я планирую создать запрос на извлечение, который будет оставаться открытым в течение следующих нескольких месяцев.

В течение этого времени я буду заниматься разработкой функций с ответвлением от new-feature. Как только ветвь будет рассмотрена и утверждена, я создам запрос на извлечение, чтобы объединить этот бит работы с new-feature

Когда все будет сказано и сделано, new-feature будет объединено с master.

Мой вопрос :

Допустим, одна из моих new-feature дочерних ветвей (назовем это child-branch-1) содержит изменение, которое также необходимобыть объединенным в master ДО new-feature объединенным в master?

Могу ли я использовать одну ветвь для этого изменения, создавая 2 отдельных запроса извлечения (1 PR для объединения изменения в master и еще один PR для объединения изменений в new-feature соответственно), или лучше использовать 2 разные ветви (1 на основе master и 1 на new-feature, с PR для каждого) чтобы достичь этого?

Ответы [ 2 ]

2 голосов
/ 04 октября 2019

Допустим, одна из моих дочерних ветвей новой функции (назовем ее child-branch-1) содержит изменение, которое также необходимо объединить в master ДО new-feature объединено в master?

Эта ветвь child-branch-1 включает в себя историю (частично) new-feature.

Вы не можете объединить child-branch-1 как есть с мастером, потому что оно включает в себя слишком много.

  • создайте новую ветку из upstream/master (с восходящим потоком, являющимся удаленным от исходного репозитория, который вы разветвили)
  • git cherry-pick один или несколько коммитов из child-branch-1 в эту новую ветку
  • создайте отдельный PR от новой ветки, который, опять же, включает только коммиты, относящиеся к вашему "срочному" изменению.
0 голосов
/ 04 октября 2019

Я бы сначала слил child-branch-1 с мастером. Как только я это сделаю, я сделаю плагин с master до new-feature таким образом, что вы получите нужное вам изменение в new-feature, и потомки такой ветви тоже получат это изменение.

Так как вам нужно иметь child-branch-1 в мастере, прежде чем вы введете его в new-feature, я думаю, что лучше получить child-branch-1 от мастера, а не брать из new-feature.

Я говорюесли рассматривать это как простой общий случай, то ваше личное дело может быть более сложным. Возможно, вам понадобятся некоторые вещи из child-branch-1, чтобы перейти к мастеру, и некоторые другие вещи, чтобы перейти к new-feature. В таком случае я бы использовал другой подход, может быть, вы расскажете нам еще несколько подробностей о вашей проблеме.

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