브랜치
- master
- 언제나 운영 가능한 상태의 브랜치
- 버전 태그를 붙여 준다.
- hotfixes
- master 브랜치에서 급하게 고쳐야 할 오류가 있을 때 사용하는 브랜치
- master 브랜치로부터 가져온다.
- 다음 버전의 태그를 붙여준다. (master v1.0의 오류를 수정하고 v1.1로 출시하려면 v1.1로 태그를 붙인다.)
- 오류 잡아낸 후에 master, develop 브랜치에 머지 되어야 한다.
- 브랜치 삭제 가능
- release
- 출시를 위한 브랜치
- develop 브랜치에서 개발이 끝나고 전체 테스트 및 버그를 잡아내는 브랜치
- develop 브랜치로부터 가져온다.
- 출시 버전의 태그를 붙여 준다.
- 모든 테스트 완료 후에 master, develop 브랜치에 머지 되어야 한다.
- 브랜치 삭제 가능
- develop
- 개발을 위한 브랜치
- 각각의 feature 브랜치를 합친 브랜치
- feature
- 기능 단위의 개발을 위한 브랜치
- feature/login, feature/signup ...
- 브랜치 삭제 가능
Git flow 흐름 예시
ex) 로그인, 회원가입 기능이 있는 서비스 개발
- master 브랜치에서 git checkout -b develop
- develop 브랜치에서 git branch feature/login
- develop 브랜치에서 git branch feature/sign-up
- feature/login, feature/sign-up에서 각자 개발
- 개발 완료 후 feature/login, feature/sign-up 브랜치를 develop 브랜치로 머지
- 출시 준비를 위해 develop 브랜치에서 git checkout -b release/v1.0
- 출시 테스트 중 버그가 있어서 수정
- 모든 수정 완료 후 develop, master 브랜치에 merge
- ~ 서비스 운영 ~
- 운영 중 치명적인 오류 발생
- master 브랜치에서 git checkout -b hotfixes/v1.1
- 오류 수정
- 오류 수정 완료 후 develop, master 브랜치에 merge
'개발' 카테고리의 다른 글
백준허브 프로그래머스 연동 안되는 문제 해결 (1) | 2024.12.19 |
---|---|
FCM 토큰 항상 신선하게 관리하기 (0) | 2023.02.07 |