1. git flow 초기화하기
git flow init // 프로젝트 디렉토리에서 초기화
2. 기본값 설정하기
- enter 치면 다 추가됨
3. 각 브랜치
- Production Releases Branch (master)
- 최종 제품이 배포되는 브랜치
- 안정된 버전의 코드를 유지하며, 이 브랜치에서 직접 작업하지 않음
- 특징
- 이 브랜치에는 항상 안정적인 코드만 존재
- 주로 태그를 달아서 특정 버전을 관리
- Next Release Development Branch (develop)
- 새로운 기능 및 변경 사항을 개발하는 브랜치
- 다음 릴리스의 베이스가 됨
- 특징
- 여러 기능 브랜치(feature branches)에서 병합된 코드가 이곳에 모임
- 안정성이 검증된 후에 master로 병합
- Feature Branches (feature/)
- 새로운 기능을 개발할 때 사용하는 브랜치
- 특징
- develop브랜치에서 분기하여 작업을 진행
- 기능 개발이 완료되면 다시 develop브랜치로 병합
- 브랜치 이름은 feature/기능명 형식으로 작성
- Bugfix Branches (bugfix/)
- develop브랜치에서 발견된 버그를 수정할 때 사용하는 브랜치
- 특징
- 기능 수정이 필요할 때 develop에서 분기하여 작업
- 수정이 완료되면 다시 develop으로 병합
- 브랜치 이름은 bugfix/오류명 형식으로 작성
- Release Branches (release/)
- 새로운 릴리스를 준비하는 브랜치
- 기능 개발이 완료되고 릴리스가 준비되면 생성
- 특징
- 버그 수정, 최종 테스트 및 문서화 작업을 진행
- 릴리스 준비가 완료되면 master로 병합이후 develop에도 병합되어 다음 개발을 이어감
- 브랜치 이름은 release/버전명 형식으로 작성됩니다.
- Hotfix Branches (hotfix/)
- 프로덕션(배포)에서 발견된 긴급한 버그를 수정하는 브랜치
- 특징
- master에서 직접 분기하여 긴급 수정 작업을 진행
- 수정이 완료되면 master와 develop모두에 병합하여 두 브랜치의 일관성을 유지
- 브랜치 이름은 hotfix/수정명 형식으로 작성
- Support Branches (support/)
- 특정 버전의 소프트웨어에 대한 지원을 위해 생성되는 브랜치
- 보통 구 버전의 소프트웨어 유지보수를 위해 사용
- 특징
- 주로 긴급 수정이나 버그 수정을 위해 사용
- 특정 버전의 안정성을 유지하는 데 도움을 줌
- 브랜치 이름은 support/버전명 형식으로 작성
- Version Tag Prefix
- 태그를 관리하기 위한 접두사
- 비워두면 기본값으로 사용
- 특징
- 주로 배포 시 사용되는 태그에 적용되며, 특정 버전을 식별하는 데 도움을 줌
4. 브랜치 확인하기
git branch
5. 기능 브랜치 사용하기
- 기능 브랜치 생성
git flow feature start <feature-name>
- 푸쉬
git add . git commit -m "기능 설명" git push origin feature/<feature-name>
- 기능 브랜치 종료
- 기능 브랜치가 develop브랜치에 병합되고 자동으로 삭제
git flow feature finish <feature-name>
- develop 브랜치로 돌아옴
git checkout develop
git merge --no-ff feature/<feature-name>
git push origin develop
6. 기능 수정하기
- 버그 수정 브랜치 생성
git flow bugfix start <bugfix-name>
- 버그 수정
git add . git commit -m "버그 수정: 로그인 오류 수정"
- 삭제하지 않고 병합
git flow bugfix finish <bugfix-name> --no-delete
배포하기
- develop 브랜치에서 Release 브랜치 생성
git flow release start <release-version>
- Release 브랜치에서 최종 수정
- Release 브랜치로 이동한 후, 필요한 최종 수정(문서화, 버그 수정 등)을 진행
git add . git commit -m "최종 수정 및 버전 준비"
- Release 브랜치를 master 브랜치와 develop 브랜치에 병합
git flow release finish <release-version>
- 배포 후 태그 추가
- 자동으로 master 브랜치에 태그를 추가
- 변경된 내용을 master 브랜치와 develop 브랜치에 모두 푸쉬
git push origin master git push origin develop git push --tags
Share article