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

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

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

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

Допустим, разработчику была поставлена задача по переработке авторизации сайта, которую вначале необходимо протестировать и утвердить с заказчиком. На картинке выше видно, как разработчик создал новую ветку 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 сайте, то используется стратегия без обязательного тестирования.

Last updated