Search

Act - Git Branch 전략: Git Flow

설명
Pseudo Company Git Branch 전략
유형
절차서
버전
Sprint 2

Pseudo Company의 Git Flow 브랜치 종류

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

feature(기능)

각 기능을 실제로 개발하는 브랜치
기능 개발에 대한 모든 커밋을 포함하고 있다.
연구(Research), 개발(Develop), 테스트(Test) 등은 여기서 작업된다.
Pseudo Company의 feature 브랜치 명 : feat/[기능 명]
병합(merge)이 가능한 조건
feat/[기능 명]dev (무조건 featuredevelop으로만 이동 가능)

develop(개발)

feature에서 개발이 완료된 기능들이 합쳐져 있는 브랜치
develop에서 수정이 필요할 때는 hotfix 브랜치에서 수정하는 것이 아닌 수정이 필요한 기능을 개발하는 feature 브랜치에서 수정을 해야한다.
“Team Leader”가 병합 관리한다.
Pseudo Company의 develop 브랜치 명 : dev
병합(merge)이 가능한 조건
devrelease/**/*dev
devfeat/[기능 명]dev
hotfix 완료 시 : hotfixmain, dev

release/staging(배포 전 QA)

develop에서 main으로 배포하기 전 QA(품질검사)를 진행하는 브랜치
“Company Leader”가 검수 관리한다.
Pseudo Company의 release 브랜치 명 : release/**/*
병합(merge)이 가능한 조건
버그 수정 시 : release/**/*dev
배포가 가능할 시 : release/**/*main, dev

hotfix(빨리 고치기)

main에서 예기치 못한 에러가 발생하거나 수정을 위해서 사용하는 브랜치
Pseudo Company의 hotfix 브랜치 명 : hotfix or fix/[수정 사항]
Team의 의견을 받고 Company Leader가 승인
병합(merge)이 가능한 조건
hotfix 필요 시 : mainhotfix / fix/[수정 사항]
hotfix 완료 시 : hotfix / fix/[수정 사항]main, dev

main(master)

모든 기능이 완성된 코드가 들어가는 브랜치
해당 브랜치에서는 프로젝트 제일 처음 develop 브랜치로 쪼개는 것 말고는 다른 브랜치로 들어가지 않는다.
main에서 급하게 수정이 필요한 부분은 hotfix 브랜치로 옮긴 후 수정이 완료된 후 main 브랜치와 develop 브랜치로 병합한다.
main 브랜치는 항상 즉시 배포가 가능한 상태여야 한다.
“Company Leader & Group Manager”가 검수 관리한다.
Pseudo Company의 main 브랜치 명 : main
병합(merge)이 가능한 조건
초기 : maindev = 가능
이후 : maindev = 불가능
mainfeat/[기능 명] or release/**/* = 불가능
mainhotfixmain, develop = 가능