반응형
Git-flow는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다.
Git-flow는 총 5가지의 브랜치를 사용합니다.
- master: 기준이 되는 브랜치로 제품을 배포하는 브랜치입니다. 현재 production의 상태와 일치합니다.
- develop: 개발 브랜치로 개발자들이 각자 작업한 기능들을 이 브랜치를 기준으로 병합합니다. 현재 개발이 완료된 상태(다음 릴리즈를 위해 언제든 배포될 수 있는 상태)와 일치합니다.
- feature: 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 병합합니다. develop을 현재 개발 완료 상태와 일치시키면서도 다른 개발자와 conflict가 생기지 않도록 작업하기 위해 사용합니다.
- release: 배포를 위해 master 브랜치로 보내기 전에 먼저 품질검사(QA)를 하기 위한 브랜치입니다.
- hotfix: master 브랜치로 배포를 했는데 버그가 생겼을 경우 긴급 수정하기 위한 브랜치입니다.
master 브랜치와 develop 브랜치는 중요한 '메인 브랜치'에 해당되며, 프로젝트가 존재하는 한 영원히 존재합니다.
- master 브랜치에서 작업을 시작합니다.
- develop에 동일한 브랜치를 생성하고, 개발자들은 이 브랜치에서 개발을 진행합니다.
- 특정한 기능(회원가입, 장바구니, 이미지 관리 등) 구현이 필요할 경우 q개발자는 develop 브랜치에서 feature 브랜치를 생성해서 회원가입 기능을 구현하고, w개발자는 develop 브랜치에서 또 다른 feature 브랜치를 생성해서 장바구니 기능을 구현합니다.
- 기능 구현이 완료된 feature 브랜치는 검토를 하고 다시 develop 브랜치에 병합합니다.
- 기능의 구현이 완료되고 병합까지 완료한 develop 브랜치를 release 브랜치로 만듭니다.
- 품질 검사(QA)를 하면서 보완점을 보완하고 버그를 수정합니다.
- 완료되면 release 브랜치를 master 브랜치와 develop 브랜치로 보냅니다.
- master 브랜치에서 버전 추가를 위해 태그를 하나 생성하고 배포를 합니다.
- 배포를 완료했는데 미처 발견하지 못했던 버그가 발견될 경우 hotfixes 브랜치를 만들어 긴급 수정 작업을 합니다.
- 긴급 수정 작업이 완료되면 master 브랜치와 develop 브랜치로 보냅니다.
- master 브랜치에 병합한 후 태그를 생성하고 바로 수정 및 배포를 합니다.
- develop 브랜치에 병합한 후 개발을 계속 진행합니다.
반응형
'기타' 카테고리의 다른 글
[운영체제론] IPC(Inter-Process Communication) (0) | 2021.12.11 |
---|---|
[운영체제론] System Call (0) | 2021.12.11 |
[프로그래밍] C++과 JAVA의 차이점 (0) | 2021.12.09 |
[Jupyter] 주피터 노트북 사용하기 (0) | 2021.10.25 |
[디자인 패턴] MVC(Model-View-Controller) 패턴 (0) | 2021.02.03 |