728x90
Git으로 프로젝트를 진행하면서 Git-flow 전략이 어떻게 사용되는지 알아보려고 한다.
📁GIt-flow
Git-flow는 10년전 쯤에 Vincent Driessen이라는 사람의 블로그 글에 널리 퍼지기 시작했고 현재는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론이다.
Git-flow는 기능이 아니고 서로간의 약속인 방법론이다. 그렇다고 방법론을 그대로 사용해도 되지만 각자 개발 환경에 따라 수정하고 변형해서 사용하라고 언급하였습니다.
Git-flow는 총 5가지의 브랜치를 사용해서 운영을 합니다.
- master : 기준이 되는 브랜치로 제품을 배포하는 브랜치 입니다.
- develop : 개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들을 합(Merge)칩니다.
- feature : 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 합칩니다.
- release : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA(품질검사)를 하기위한 브랜치 입니다.
- hotfix : master 브랜치로 배포를 했는데 버그가 생겼을 떄 긴급 수정하는 브랜치 입니다.
아래 이미지가 Git-flow를 설명할때 가장 적절한 이미지인거 같다.
- 우선 master 브랜치에서 시작한다.
- 동일한 브랜치를 develop에도 생성을 한다. 이 develop브랜치에서 개발자들이 개발을 진행한다.
- 개발을 하다가 기능 구현이 필요한 경우 feature 브랜치를 생성해서 기능을 구현하고 다른 개발자가 다른 기능을 구현 할때 또 새로운 브랜치를 만들어 진행한다.
- feature 브랜치에서 검토한 후에 develop브랜치랑 합친다.
- 모든 기능이 완료되면 develop 브랜치를 master 브랜치와 develop 브랜치로 보낸다. master 브랜치에서 버전추가를 버전추가를 위해 태그를 하나 생성하고 배포를 한다.
- 배포를 했는데 미처 발견하지 못한 버그가 있을 경우 hotfixes 브랜치를 만들어 긴급 수정 후 태그를 생성하고 배포한다.
728x90
'Dev > Git' 카테고리의 다른 글
[Mac]GitHub push 오류(토큰 인증) (1) | 2021.08.21 |
---|