- main: 제품의 안정 버전을 유지하는 메인 브랜치
- develop: 기능 개발이 진행되는 브랜치
- feature/: 새로운 기능을 개발하는 브랜치 (예: feature/authentication, feature/payment)
- release/: 다가오는 릴리스를 준비하는 브랜치 (예: release/1.0.0)
- hotfix/: 실제 배포 중인 제품에서 발생한 버그를 수정하는 브랜치 (예: hotfix/1.0.1)
1 main 브랜치 생성
git branch main
2 develop 브랜치 생성:
git branch develop
3 새로운 기능 개발:
git checkout -b feature/new-feature develop
4 기능 완료 후 develop에 병합:
git checkout develop
git merge --no-ff feature/new-feature
5 릴리스 브랜치 생성:
git checkout -b release/1.0.0 develop
6 릴리스 브랜치에서 테스트 및 수정 후 master와 develop에 병합:
git checkout master
git merge --no-ff release/1.0.0
git checkout develop
git merge --no-ff release/1.0.0
7 핫픽스 브랜치 생성 및 수정 후 master와 develop에 병합:
git checkout -b hotfix/1.0.1 master
# 수정 후
git checkout master
git merge --no-ff hotfix/1.0.1
git checkout develop
git merge --no-ff hotfix/1.0.1
8 버전 태그 생성:
git tag -a 1.0.0 -m "Version 1.0.0"
9 원격 저장소에 푸시:
git push origin --tags