Search

Flow

대분류
DevOps/Tool
소분류
Git / GitHub
유형
Git
주요 레퍼런스
https://puleugo.tistory.com/107
최종 편집 일시
2024/10/27 15:30
생성 일시
2024/07/26 00:48
14 more properties

Git Flow 브랜치 종류

main(master)서비스을 직접 배포하는 역할을 하는 브랜치
develop(개발):  feature에서 개발된 내용을 가지고 있는 브랜치
feature(기능):  각 기능 별 개발 브랜치
release(배포)배포를 하기 전 내용을 QA(품질 검사) 하기 위한 브랜치
hotfix(빨리 고치기)main 브랜치로 배포를 하고 나서 버그가 생겼을 때 빨리 고치기 위한 브랜치

main(master)

모든 기능이 완성된 코드가 들어가는 브랜치
해당 브랜치에서는 프로젝트 제일 처음 develop 브랜치로 쪼개는 것 말고는 다른 브랜치로 들어가지 않는다.
main에서 급하게 수정이 필요한 부분은 hotfix 브랜치로 옮긴 후 수정이 완료된 후 main 브랜치와 develop 브랜치로 병합한다.
main 브랜치는 항상 즉시 배포가 가능한 상태여야 한다.
일반적인 브랜치 명 : main(현재), master(옛날)
병합(merge)이 가능한 조건
설명 : main → develop(develop += main: develop에서 main을 가져와 develop으로 병합)
초기 : main → develop = 가능
이후 : main → develop = 불가능
main → feature/release = 불가능
main → hotfix → main, develop = 가능

develop(개발)

feature에서 개발이 완료된 기능들이 합쳐져 있는 브랜치
develop에서 수정이 필요할 때는 hotfix 브랜치에서 수정하는 것이 아닌 수정이 필요한 기능을 개발하는 feature 브랜치에서 수정을 해야한다.
일반적인 브랜치 명 : dev
병합(merge)이 가능한 조건
release가 없을 때 : develop → main
release가 있을 때 : develop → release → develop
develop → feature → develop
hotfix 완료 시 : hotfix → mia develop

feature(기능)

각 기능을 실제로 개발하는 브런치
일반적인 브랜치 명 : feat/[기능 명], feat-[기능 명], feature/[기능명], feature-[기능 명]
병합(merge)이 가능한 조건
feature → develop (무조건 feature은 develop으로만 이동 가능)

release/staging(배포 전 QA)

develop에서 main으로 배포하기 전 QA(품질검사)를 진행하는 브랜치
일반적인 브랜치 명 : release/staging
병합(merge)이 가능한 조건
버그 수정 시 : release→ develop
배포가 가능할 시 : release→ main,develop

hotfix(빨리 고치기)

main에서 예기치 못한 에러가 발생하거나 수정을 위해서 사용하는 브랜치
일반적인 브랜치 명 : hotfix
병합(merge)이 가능한 조건
hotfix 필요 시 : main → hotfix
hotfix 완료 시 : hotfix → main, develop