У нас команда из 3 человек.
Есть ветка release - ветка, в которой хранится актуальный код прода (можно и master, у нас просто исторически так сложилось)
Есть ветка release-x.xx (типа release-1.12, release-1.13 и т.д.). Это ветка релиз-кандидат - в нее мы сливаем все, что хотим выложить в конце текущего спринта. Именно эта ветка и тестируется.
Как это работает:
Из ветки release создается release-х.хх.
Дальше разработчик делает себе ветку, в которой будет делать фичу. Сделал - заливает в release-х.хх
Так, к концу спринта ветка release-х.хх наполняется фичами
Тестируется
Релизим
Если на проде все ок и 1-2 дня работает без ахтунгов - заливаем release-х.хх в release.
И круг по новой