2015-01-28 3 views
0

Мы являемся компанией-разработчиком программного обеспечения, которая имеет несколько различных проектов и линий. Мы решили пойти с моделью GitHub Flow. Однако мы попали в небольшой блокпост и задавались вопросом, как его обрабатывают в другом месте.GitHub Flow и ежедневные развертывания (синхронизация с мастером)

Наши разработчики ...

  1. создать филиал по разработке;
  2. Как только они заканчивают ветку, они синхронизируются с мастером;
  3. создать запрос Pull (где происходит проверка кода);
  4. отправляет его в QA для окончательной приемки и объединяется в Master.

Однако в этом случае происходит серьезное замедление, когда в одно время одна ветка объединяется в главную, все остальные ветви, которые в настоящее время находятся в очереди, должны быть повторно синхронизированы, а затем QA'd. Таким образом, вместо того, чтобы несколько QA работают над несколькими ветвями, им почти нужно подождать, пока это не будет сделано. resync .. QA. Я знаю, что автоматическое тестирование поможет, и мы строим это прямо сейчас, но есть ли другой способ?

ответ

1

Вам не нужно rebase master или merge master (я полагаю, это то, что вы подразумеваете под ресинхронизацией) после того, как master был обновлен. Вместо этого вы можете объединить ветвь темы непосредственно в master. Вы можете пропустить шаг 2 выше. Из GitHub Flow (курсив):

Если филиал был открыт слишком долго, и вы чувствуете, что это выходит из синхронизации с ведущей ветвью, вы можете объединить мастер в вашу тему филиал и продолжайте идти , Вы можете легко увидеть в обсуждении запроса на вытягивание или списке фиксации, когда последняя ветвь была обновлена ​​до «мастера».

Вам нужно только объединить master в вашу тему ветку, если вы считаете, что ваша тема ветвь может сломаться обновленный master. В противном случае вы можете напрямую объединить ветвь темы в master.

Смежные вопросы