Apliteni git-flow

Именование веток

  • master ветка, которая всегда готова к деплою. От нее делаем хотфиксы.
  • PROJ-NNN называется по идентификатору задачи в Jira. Удаляем сразу после вливания в master или релизную ветку.
  • release-x.x . Предназначены для аккумулирования фич к следующему релизу.

Системные ветки:

  • production ветка для CI. Пуш в эту ветку провоцирует деплой проекта через GitLab CI на production.
  • staging ветка для CI. Пуш в эту ветку провоцирует деплой через GitLab CI на стейджинговый сервер.

Рекомендации к коммитам

  • Комментарий коммита начинается с идентификатора задачи (Например, "GDBC-1233 added configuration file for postgres").
  • Комментарий пишется на английском. На грамматику не обращаем внимания, но стараемся писать аккуратно.
  • Если в коммите описание нескольких изменений, то вы сделали слишком его большим. В следующий раз делайте более меткий коммит. Чем чаще коммитите, тем лучше.

Оформление Merge-Request

  1. В Title пишем "Resolve идентификатор задачи" и краткое описание изменений (до 6 слов). Пример "Resolve GDBC-2244 implemented feature x".
  2. В Assignee указываем того, кто должен смержить ветку. Если оставите пустым, то вероятно ваш MR будет висеть долго незамеченным.
  3. В Target указывается ветка куда будет происходить вливание.
  4. В обсуждении можно указать нужные @-имена тех людей, которые контролируют данное направление разработки и @-имена руководства. Эти люди увидят у себя в нотификациях, что на MR нужно обратить внимание.
  5. У каждого MR есть показатель "X/Y discussions resolved". Необходимо, чтобы закрыты были все вопросы перед вливанием.
  6. Всегда ставьте галочку "Remove source branch Squash commits". Это сэкономит время.
  7. Если в Title указано "Resolve ...", после принятия MR задача переведется в Done автоматически.

Именование git-репозиториев

  • Нижний регистр.
  • Разделитель "-".

Рефакторинг

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