Как мне добавить исправление обратно в ветку функций, используя gitflow?

10

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

Тем не менее, я хотел бы включить изменения исправлений обратно в мою ветку функций, которая, насколько я могу судить, оставляет три варианта:

  1. Не включайте изменения. Если изменения были необходимы для функциональной ветви, она должна была быть частью функциональной ветви.
  2. Слияние развивается обратно в ветку возможностей. Похоже, это лучше всего соответствует рабочему процессу gitflow, но может привести к неупорядоченным коммитам.
  3. Перебазируем ветку функций на разработку . Это сохранит порядок фиксации, но перебазирование, по-видимому, полностью отсутствует в общем рабочем процессе gitflow.

Какова лучшая практика здесь?


источник
Характеристика отрасли , как правило , должны быть очень кратковременным, это своего рода запах SCM будет слияние изменений Into них; нельзя ли просто завершить (или стабилизировать) ветвь объектов и объединить ее обратно?
Aaronaught
2
@ Хорошо, что эта функция не выполнена / может никуда не деваться. Основная ситуация заключается в том, что функция, на разработку которой уходит несколько дней, обнаружила ошибку, которая потенциально может повлиять на производственные данные. Тесты были написаны, исправление применено к мастеру / производству, но незавершенная функция все еще не работает из-за ошибки. Вы предлагаете объединить половинную функцию в основную линию разработки? Что произойдет, если функция не работает?

Ответы:

11

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

Уэйн Конрад
источник
Да, оглядываясь на еще одно косвенное доказательство, в том числе объявление gitflow 0.2, в котором добавлена ​​перебазировка функций, указывает на то, что рабочий процесс git rebase также является рабочим процессом gitflow.
2
Интересно. Я не могу сказать, что я эксперт по Gitflow, но, насколько я понимаю, исправления были единичными коммитами против мастера, а не веток, и я просто выбрал их для разработки. Читая, думал, что я был совершенно неправ в этом.
jb510