깃허브를 사용하면서 기능별로 feature 브랜치를 파고 PR을 올리고 머지한 적은 있지만,
브랜치 명칭별로 어떤 역할을 하는지, 어떻게 관리되어야하는지에 대해서는 깊게 생각해본 적이 없었다.
오늘 인턴쉽을 진행하며 배웠던 깃 플로우 전략을 아주아주 간단하게 정리해두려고 한다.
브랜치의 종류는 5가지가 있다.
develop | 개발이 진행 중인 branch |
feature | 특정 기능의 개발이 진행되는 branch |
release | 기능 개발이 끝나고, 제품 출시 전 테스팅용 DB와 서버에서 빌드되어 QA 과정에 놓이는 branch |
master | 빌드 되어 실제 배포되는 branch |
hotfix | 배포된 결과물에서 발생한 문제를 빠르게 해결하기 위한 branch |
실제 개발과정에서는 위 브랜치를 다음과 같이 적용한다.
develop 브랜치에서 특정 기능을 개발하고자 할 때는 feature 브랜치를 생성해 개발한다.
개발이 완료된다면 feature 브랜치를 develop에 merge한다.
develop 브랜치에서 매 싸이클마다 개발 완료 후 코드 테스트된 코드에 대해서 release 브랜치로 merge한다.
release 브랜치에서는 테스팅 DB와 테스팅 서버를 통해 QA를 진행한다.
QA가 완료된 브랜치는 master 브랜치로 merge되어 빌드 및 배포된다.
이를 통해 개발된 기능이 실제 소비자에게 제공된다.
배포까지 완료 된 master branch에서 버그 발견 시,
hotfix 브랜치를 생성하여 버그를 픽스하고 이를 master, release, develop 브랜치에 merge한다.
develop, release, master 브랜치는 merge 당하기만 하는 branch로 만들어
버그 발견 시 추척을 쉽게 한다. (Git History 관리)
'Frontend > 기타' 카테고리의 다른 글
Next.js와 Storybook에 SVGR 설정하기 (0) | 2023.08.06 |
---|---|
VSCode에서 ESLint & Prettier 설정하기 (0) | 2023.07.20 |
프론트엔드 개발 환경 기초 설정 (0) | 2023.07.19 |
[Error] yarn : 이 시스템에서 스크립트를 실행할 수 없으므로 ... (0) | 2023.04.04 |
웹소켓(WebSocket) 테스트 사이트 (0) | 2022.06.14 |