[Git] Git Flow

goyoung·2024년 3월 6일
0

Git

목록 보기
8/8

Git Flow

: git에서 제공하는 브랜칭 기능을 활용한 변경 이력 관리 전략

Git Flow란?

: 브랜치를 나누는 방법에 대한 분류 중 하나

  • 특징
    • main(master) : 서비스를 직접 배포하는 역할을 하는 브랜치
    • feature(기능) : 각 기능별 개발 브랜치
      • feature 브랜치는 주로 ‘feature/{기능_이름}
    • develop(개발) : feature에서 개발된 내용이 저장(commit)되는 브랜치
    • release(배포) : 배포를 하기 전 내용을 QA(품질 검사)하기 위한 브랜치
    • hotfix(빨리 고치기) : main브랜치로 배포를 하고 버그가 생겼을 때 빨리 고치기 위한 브랜치
    • support : 버전 호환성을 위한 브랜치

💡 main, develop은 필수 브랜치이지만 나머지 브랜치는 유지 보수를 목적으로 하는 선택적인 브랜치이다.


1. master에서 시작
2. master가 base인 develop 브랜치 생성
3. 개발자 1 : develop이 base인 feature브랜치를 생성하여 개발 진행
   3-1. 개발자 2 : develop이 base인 feature브랜치를 생성하여 개발 진행
   3-2. …
4. 개발 완료된 feature 브랜치는 develop으로 merge
5. release 나갈 브랜치를 develop base에서 생성
6. release branch에 있는 코드에 대해 QA를 진행하면서 버그를 고쳐나감
7. QA 통과한 release branch는 배포 준비 완료 상태
8. 배포를 위해 release branch → develop, master로 합침
9. master 브랜치에서도 각 코드 버전에 대한 기록을 남기기 위해 태그 추가 생성
10. 보통은 9번에 생성된 태그로 배포
11. 만약 배포가 나간 건에 대해 긴급히 버그를 처리해야 하는 경우 master base 기반으로 hotfix 브랜치 생성
12. hotfix 브랜치를 master, develop에 merge

| 느낀점
gitflow에 대해서 알아보면서 되게 효율적인 프로젝트 관리법이라고 생각했다.
이론적으로 공부하기 보다는 프로젝트 투입 시 직접 사용하면서 체득해야 할 것 같다.
다음달부터 해볼 수 있지 않을까?😊👍

| 참고
[Gitflow] 깃플로우 브랜치 전략
Git Flow란, 깃 브랜치 전략
우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그

0개의 댓글