박나겸
[Git] Git-Flow 브랜치 전략 본문
브랜치 전략
협업시 여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 work-flow입니다. 개발 중인 기능이나 수정된 것들이 서로 독립적이므로 영향을 주지 않고 동시에 진행이 가능합니다. 따라서 브랜치가 특정 기능이나 이슈에 대응하여 작업을 추적하고 버전 단위로 관리해 프로젝트 관리와 배포의 안정성을 높여줍니다.
Git-flow와 Github-Flow가 두가지 대표적인 전략입니다.
Git-Flow
Git-flow에는 5가지 종류의 브랜치가 존재합니다. 항상 유지 되는 메인 브랜치인 master, develop과 일정 기간동안만 유지 되는 보조 브랜치인 feature, release, hot fixes이 있습니다. 각 용도에 맞게 브랜치를 나눠서 사용합니다.
master 브랜치 : 제품 출시 버전을 관리하는 메인 브랜치
develop 브랜치: 다음 출시 버전을 위해 개발하는 브랜치
feature 브랜치: 새로운 기능을 개발하는 브랜치
release 브랜치: 다음 출시 버전을 준비하는 브랜치
hot fixes 브랜치: 출시된 제품의 버그를 고치기 위한 브랜치
1. master브랜치와 master 브랜치에서 시작한 develop 브랜치가 있습니다.
2. develop 브랜치에는 상시로 수정된 커밋들이 추가 됩니다. 여기서 새로운 기능이 추가 되면 feature 브랜치를 생성해 추가합니다. 따라서 feature 브랜치는 언제나 develop 브랜치에서부터 시작하게 됩니다.
3. 기능 추가 작업이 완료 됬으면 feature 브랜치는 develop 브랜치로 merge가 됩니다.
4. develop 브랜치에 이번 버전에 포함되는 모든 기능이 merge 됬다면, QA를 하기 위해 develop 브랜치에서부터 release 브랜치를 생성합니다. 이 단계에서 발생하는 오류들은 release 브랜치에 수정됩니다.
4. QA가 끝났으면 relase 브랜치를 develop, master 브랜치로 merge 합니다. 마지막으로 출시된 master 브랜치에서 버전 태그를 추가합니다.
'코드잇' 카테고리의 다른 글
[Git] branch merge에 대해서 (0) | 2024.11.01 |
---|---|
시멘틱 태그의 장점 (0) | 2024.10.24 |
CSS란? (0) | 2024.10.24 |