브랜치 구조 및 역할
Git Flow는 여러 브랜치를 통해 기능 개발, 버그 수정, 배포 준비 등을 독립적으로 처리할 수 있게 해주는 구조임. 각각의 브랜치는 특정 역할을 담당하고, 이 역할을 명확하게 이해하면 팀원 간 충돌을 최소화하면서 작업을 효율적으로 진행할 수 있음.
메인 브랜치는 항상 안정된 코드만 포함하고 있어야 함. 즉, 배포 가능한 코드만 모아둔 브랜치라고 보면 됨. 메인 브랜치는 프로젝트의 중심이기 때문에 매우 중요함.
master
(또는 main
)
v1.0.0
같은 형식)를 달아 관리함.develop
master
브랜치로 배포하기 전 최종 검토할 코드가 여기에 모임.보조 브랜치는 특정 작업(기능 개발, 버그 수정, 배포 준비 등)을 독립적으로 진행하기 위해 생성하는 브랜치임. 작업이 완료되면 메인 브랜치로 병합 후 삭제함.
feature/*
(기능 개발 브랜치)
develop
브랜치에서 갈라져 나와 작업을 시작함.feature/기능이름
*으로 만듦. 예를 들어, 회원가입 기능을 개발 중이라면 feature/회원가입
이런 식으로 이름을 붙임.develop
브랜치로 병합한 후, 해당 feature 브랜치는 삭제함.release/*
(배포 준비 브랜치)
develop
브랜치에서 갈라져 나와, 배포 전에 필요한 버그 수정이나 문서 작업을 처리함.release/버전이름
형식으로 만듦. 예를 들어, 1.0.0 버전을 배포하려면 release/1.0.0
이렇게 이름을 짓는 것임.master
*와 **develop
*에 모두 병합되고 브랜치는 삭제함.hotfix/*
(긴급 수정 브랜치)
master
*에서 직접 갈라져 나와 긴급 수정 작업을 진행함.hotfix/버그이름
형식으로 만들고, 예를 들어 로그인 오류가 발생했다면 hotfix/로그인_오류_수정
이런 식으로 만듦.master
*에 빠르게 병합하여 운영 환경에 반영하고, 이후 **develop
*에도 병합하여 개발 상태도 최신으로 유지함.feature/*
): 기능 개발 작업을 각 개발자가 독립적으로 진행한 후, 완료되면 develop
브랜치로 병합함.release/*
): 배포할 준비가 되면 **release/*
브랜치를 만들어 작은 수정 작업을 완료한 후, **master
*와 **develop
*에 병합함.