[GIT] git-flow 전략

ryudjae
|2021. 11. 14. 00:55
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를 설명할때 가장 적절한 이미지인거 같다.

  1. 우선 master 브랜치에서 시작한다.
  2. 동일한 브랜치를 develop에도 생성을 한다. 이 develop브랜치에서 개발자들이 개발을 진행한다.
  3. 개발을 하다가 기능 구현이 필요한 경우 feature 브랜치를 생성해서 기능을 구현하고 다른 개발자가 다른 기능을 구현 할때 또 새로운 브랜치를 만들어 진행한다.
  4. feature 브랜치에서 검토한 후에 develop브랜치랑 합친다.
  5. 모든 기능이 완료되면 develop 브랜치를 master 브랜치와 develop 브랜치로 보낸다. master 브랜치에서 버전추가를 버전추가를 위해 태그를 하나 생성하고 배포를 한다.
  6. 배포를 했는데 미처 발견하지 못한 버그가 있을 경우 hotfixes 브랜치를 만들어 긴급 수정 후 태그를 생성하고 배포한다.
728x90

'Dev > Git' 카테고리의 다른 글

[Mac]GitHub push 오류(토큰 인증)  (1) 2021.08.21