[Git] Git Flow

2022. 2. 4. 09:25GitHub

1. Git Flow?

Git을 사용해서 개발 작업을 진행하는 프로세스

 

 

2.Git Flow의 브랜치

master

  • 실제 프로덕트로 배포하는 브랜치
  • master에 머지가 된다는 것은 프로덕트에 적용하는 것을 의미한다.

 

develop

  • master에서 배포가 되었다면, 그다음 버전을 준비하는 브랜치이다.

 

feature

  • 새 기능을 개발하는 브랜치
  • develop을 베이스 브랜치로 가지며, 완료되면 develop에 머지하고 릴리즈를 준비한다.
  • 보통 feature는 prefix로 두고, 뒤에 jira 티켓 번호를 붙이거나 기능명을 적는다.
    • feature/add-read-api-#133
    • feature-API-133

 

release

  • 실제 프로덕트로 배포하기 전에, 최종 점검을 하기 위한 브랜치
  • develop에서 해당 브랜치를 생성하며, 버그가 있을 경우에는 release 브랜치에서 버그를 픽스한다.
  • 보통 release를 prefix로 두고, 뒤에 릴리즈 버전을 명시한다.
    • release/1.1.0

 

hotfix

  • 프로덕트에서 예상하지 못했던 버그를 수정하기 위한 브랜치

 

 

 

3.Git Flow 시나리오

우아한 형제들 fit flow

처음에는 master와 develop 브랜치가 존재한다.

물론 develop 브랜치는 master에서부터 시작된 브랜치이다.

develop 브랜치에서는 상시로 버그를 수정한 커밋들이 추가된다.

새로운 기능 추가 작업이 있는 경우 develop 브랜치에서 feature 브랜치를 생성!

feature 브랜치는 언제나 develop 브랜치에서부터 시작한다.

 

기능 추가 작업이 완료되었다면 feature 브랜치는 develop 브랜치로 merge 한다.

develop에 이번 버전에 포함되는 모든 기능이 merge 되었다면 QA를 하기 위해

develop 브랜치에서부터 release 브랜치를 생성.

QA를 진행하면서 발생한 버그들은 release 브랜치에 수정된다.

QA를 무사히 통과했다면 release 브랜치를 master와 develop 브랜치로 merge 한다.

마지막으로 출시된 master 브랜치에서 버전 태그를 추가한다.

 

 

 

'GitHub' 카테고리의 다른 글

[GitHub] pull-request  (0) 2022.02.10
[GitHub] Issue  (0) 2022.02.04
[GitHub] Webstorm Task와 Github 연동하기  (0) 2022.02.04
[WebStorm] 프로젝트를 깃허브로 연결하기  (0) 2022.01.06
[Git] fetch  (0) 2021.12.14