Git Flow 전략 사용기
· 9 min read
도입
어느 무더운 날, 팀장님이 팀원들을 회의실로 소집했다.
개발팀 어셈블!
그 이유는 운영 중인 서비스와 앞으로 개발 할 서비스의 서버를 분리하자고 하셨고, FE 개발과 DevOps 직무를 병행하고 있는 나는 새로운 환경을 구성했다.
새로운 환경을 구성하고 보니... 새로운 브랜치 전략이 필요하다는 생각이 들었다.
본론
GIT 브랜치 전략 필요성
프로젝트 초창기에는 운영 중인 환경이 없으니 develop
에서 파생된 feature
브랜치에서 각 개발자들이 개발을 하고 develop
에 머지 후 검증하고
master
에 반영하여 배포 하는 방식으로 개발을 진행했다. (배포 할 때 마다 태그를 생성)
tip
위 방법을 Github Flow
전략이라고 한다.
하지만 어느 순간 프로젝트가 오픈을 하게 되고, 운영 중인 버전(v1.x)와 앞으로 개발 할 (v2.x) 를 동시에 관리가 필요하고, 각 기능 마다 배포시기가 달라서 기존의 브랜치 전략을 사용한다면 엄청난 혼란에 빠지고, 배포 할 때 마다 피로도가 누적 될거라고 생각이 들었다.
운영중인 v1.x.x 와 새로 개발하는 v2.x.x 에서 생겨난 문제
그리고 이런 피로도는 곧 개발자들의 생산성 저하에 직결된다.
혼란하면 혼세마왕이 도래한다...