Links

Стратегии слияния веток

Стратегия с обязательным тестированием

Эта стратегия слияния применяется в больших, объемных задачах, затрагивающих многие части сайта, а так же в тех, где вначале нужно протестировать решение или получить утверждение от заказчика. Например, при переработке дизайна сайта на новый, при внедрении абсолютно нового функционала, или при создании сайтов с нуля.
Вначале, код решения задачи заливается на тестовый сайт, который является полной копией боевого. Там он проходит тестирование, ищутся и исправляются ошибки, а после его утверждения - код попадает на боевой сайт.
Допустим, разработчику была поставлена задача по переработке авторизации сайта, которую вначале необходимо протестировать и утвердить с заказчиком. На картинке выше видно, как разработчик создал новую ветку feature/5511 из ветки master. Он сделал несколько коммитов, проверил все на своей локальной копии сайта, и посчитал, что задача выполнена.
Затем разработчик создал запрос на слияние своей feature ветки с веткой develop, и после прохождения Code Review feature ветка была слита с develop, а код был доставлен на тестовый сайт. Там было проведено тестирование, как с нашей стороны, так и со стороны заказчика, и обнаружилось несколько ошибок, которые необходимо исправить.
Разработчик исправил ошибки, зафиксировал исправления новым коммитом, и вновь ветка разработчика была слита в ветку develop для повторного тестирования и проверки. В этот раз ошибок больше не обнаружилось и заказчика все устроило. Ветка разработчика сливается с главной веткой проекта master и попадает на боевой сайт.

Стратегия без обязательного тестирования

Другая стратегия слияния - без обязательного тестирования на develop сайте. Так как наша цель как можно быстрее решить проблему заказчика и доставить код решения на боевой сайт, то небольшие по объему задачи проливаются сразу в master ветку, т.е. на боевые сайты.
Допустим, разработчик получил задачу 5511, в которой необходимо исправить стили header-а и footer-a сайта. Так как задача не сильно объемная, то применяется стратегия без обязательного тестирования.
Разработчик создал свою ветку feature/5511, выполнил исправление стилей и проверил на своей локальной копии сайта, что все впорядке. Был создан Merge Request, пройдено Code Review, и feature ветка была слита с master. После этого точно так же выполняется проверка решения задачи, как с нашей стороны, так и со стороны заказчика, но уже сразу на боевом сайте.
Если при постановке задачи небыло оговорено, что её вначале необходимо её протестировать на develop сайте, то используется стратегия без обязательного тестирования.