Git flow는 2010년에 한 개발자의 블로그로 부터 시작된 브랜칭 전략을 말한다.
🧐 브랜칭 전략
효율적인 개발 프로젝트 코드 관리를 위해 브랜치의 종류를 나눠서 관리하는 전략.
아래와 같은 브랜치 구성을 가진다.
develop
master
feature
branchesrelease
brancheshotfix
branches다만, Git flow는 대규모 개발 프로젝트를 제작하여 하나의 소프트웨어의 릴리즈 버전을 명확하게 나누고, 다양한 버전을 배포하는 개발환경에는 적합했으나 빠르게 제작하고 배포하고 고객의 피드백을 받는 애자일한 개발 환경에는 적합하지 않다.
Git flow
로 부터 파생된 대표적인 브랜치 전략에는 Github flow, Gitlab flow가 있다.
Git flow를 단순화한 브랜치 전략.
main
branch : 사용자에게 언제든 제품으로 출시할 수 있는 브랜치dev
branch : 다음 버전 배포를 위해 개발 중인 브랜치feat/<작업 명>
branch : 기능 개발, 리팩토링, 문서 작업등의 작업을 위한 브랜치해당 브랜치들은 Github repository에 늘 업데이트 되어있어야 하며, 팀원의 코드리뷰를 받고 진행하는 것이 정석이다.
언제든 사용자에게 배포가 가능한 브랜치!
핵심 기능, 디자인, 보안 등이 일정 기준을 충족해 배포를 할 수 있다.
다음 버전 배포를 위해 개발 진행중인 브랜치!
프로젝트 작업 진행 중, 백엔드와 프론트엔드의 작업물을 합쳐 결과를 확인할 수 있어야 한다.
기능 개발, 리팩토링, 문서 작업, 단순 오류 수정 등 다양한 작업을 기록하기 위한 브랜치. 세세하게 커밋 메세지나 브랜치 명에 문구를 달기도 한다.
💡 참고
커밋 컨벤션
1빠