git flow 전략

가연·2023년 6월 25일

Git Flow

  • master : 제품으로 출시될 수 있는 브랜치
  • develop : 다음 출시 버전을 대비하여 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치.
  • release : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA(품질검사)를 하기위한 브랜치
  • hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치

메인 브랜치

  • main branch 에는 master branchdevelop branch 가 있다.
  • 처음 master 브랜치에서 분기하는 것으로 시작하며 다음 버전 구현이 완료되어 배포를 하고 싶을 때 master로 다시 합치는 방식으로 운영된다.
  • develop 브랜치는 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 기반으로 개발을 진행한다.

보조 브랜치

보조 브랜치들은 필요할 때마다 생성되고, 역할을 다하면 삭제된다. 이 보조 브랜치 덕분에 병렬적인 업무가 가능해진다.

Feature 브랜치

  • 하나의 기능을 개발하기 위한 브랜치. develop 브랜치에서 생성하며, 기능이 개발 완료되면 다시 develop 브랜치로 머지된다.
  • 브랜치명은 보통 팀 컨벤션을 따른다.
    ex) feature/logi feature/#1(issue 번호)

Release 브랜치

  • 소프트웨어 배포를 준비하기 위한 브랜치. 버전 이름을 수정하거나 배포전 사소한 버그를 수정하기 위해 사용된다.
  • develop 브랜치에서 생성하며, 배포 준비가 완료되었다면 master브랜치에 머지한다. 이때, master 브랜치에는 태그를 이용하여 버전을 표시한다. release 브랜치에서 기능을 점검하며 발견한 버그 수정 사항은 develop 브랜치에 대해서도 merge 작업을 수행해준다.
  • 네이밍은 주로 release-1.2, release/1.2 과 같은 형태로 생성한다.

Hotfix 브랜치

  • 이미 배포된 버전에 수정사항이 생겼을 경우, hotfix 브랜치를 사용하여 문제를 해결한다.

  • master 브랜치에서 분기하여 hotfix 브랜치를 생성하며, 문제 해결이 완료되면 master과 develop 브랜치에 둘다 머지한다. 이때 tag를 통해 관련 정보를 기록해 둔다.

  • 네이밍은 보통 hotfix/v1.0.1 과 같은 형태로 생성.


0개의 댓글