GitFlow
git을 사용하는 개발 환경에서 브랜치 간의 문제없이 배포까지 안정적으로 할 수 있도록 Branch를 관리하는 전략이다.
GitFlow 를 활용하여 브랜치 생성에 규칙을 만들어 협업을 유연하게 하는 방법론이다.
1. main(master) : 현재 운영되고 있는 코드를 가진 브랜치
2. develop : 다음 출시 버전을 개발하는 브랜치
- main + @ (main에 추가로 코드를 가지고 있는 브랜치)
3. feature : 기능을 개발해 나가는 브랜치
- 기능 개발을 하는 브랜치 develop branch에서 브랜치를 생성하고 머지한다.
4. release : develop 브랜치 기반으로 다음 출시 버전을 준비하는 브랜치
- develop 브랜치에서 release 브랜치로 옮긴 후에 QA, 테스트 등을 실행하고 main(master)로 머지한다.
5. hotfix : main(출시 버전)에서 발생한 버그를 수정하는 브랜치
- main에서 hotfix 브랜치를 생성하고 버그 해결 후 다시 main으로 머지한다.
메인 브랜치
- Master : 배포 가능한 상태만 관리
- Develop : 다음 버전으로 배포할 것들을 관리
보조 브랜치
- Feature : 다음 버전에 넣을 기능들을 개발하여 develop로 머지한다, develop에서 브랜치를 생성한다.
- Release : 다음 버전 배포를 위한 최종적인 에러 수정, 테스팅을 수행한다. develop에서 브랜치를 생성하고 배포 가능시에 main으로 머지한다. release가 main으로 머지된다면 develop 브랜치에도 머지를 진행한다.
- Hotfix : 배포버전에 긴급한 수정이 필요한 경우, main에서 부터 브랜치를 따고 오류 수정 후 main으로 머지한다.
[참고]
댓글