사진출처 : 김영후님
Git Flow란? Git으로 형상관리를 위하여 브랜치와 소스코드를 효율적으로 관리하고 출시하기 위한 브랜치 관리 전략을 말한다.
tip)
GitHub-Flow : GitHub에서 단순한 구조의 브랜치 전략을 자체적으로 제자하여, Master 브랜치를 중심으로 운영하는 flow를 말한다.
3-1) 각 브랜치 별 수행 기능
- master(main) : 실제 서비스로 출시를 준비하고 있는 브랜치를 말한다.
- Develop : 다음 버전을 출시를 개발하기 위한 브랜치를 말하며, feature 브랜치 작업이 완료되면 develop에 merge 된다.
- Feature : 제품에 맞는 각각의 기능들을 개발하기 위한 브랜치를 말하며, 주로 feature/{칸반티켓이름} 형태로 브랜치를 만든 후, 티켓 기능을 구현하게 된다.
- Hotfix : 출시 버전에서 발생한 버그를 수정하기 위한 브랜치를 말하며, 즉, 긴급 패치가 필요할때 사용한다.
- Release : 이전 버전을 출시를 준비하기 위한 브랜치를 말하며, 출시 이전에 release 브랜치의 코드를 바탕으로 QA팀에서 QA(품질 테스트)를 수행한다.
3-2) Git Flow 순서