본문 바로가기
개발/Git & GitHub

Git 개발 전략 ( Git Flow 전략 알아보기 )

by ▩▦▤▧▩▥ 2023. 5. 30.
반응형

Git을 통해 개발을 진행할 때, 여러 가지 방법론 적인 것들이 있습니다. 그중에 이번 글에서는 Git Flow 전략에 대해서 한번 알아보도록 하겠습니다.

 

Git Flow전략은 크게 5개의 브랜치를 운영해 갑니다.

  • main 브랜치( 배포되는 운영 서버로 생각하면 편함 )
  • develop 브랜치( 개발에 사용되는 서버로 생각하면 편함 )
  • feature 브랜치( develop에 기능을 추가할 때 사용됨 )
  • release 브랜치( qa 서버로 생각하면 편함, develop 브랜치에서 main 브랜치로 merge 하기 전에 사용됨 )
  • hotfix 브랜치 ( main 브랜치에서 버그 발생했을 때 수정용으로 사용함 )

 

위의 5가지 브랜치들이 있는데 보통 플로어는 아래와 같이 진행이 됩니다.

1. main 브랜치 -> develop 브랜치 생성 / 작업

2. 새로운 기능 개발을 위해 develop 브랜치 -> feature 브랜치 생성 / 작업

3. feaure 브랜치 작업 완료 후, develop 브랜치와 Merge

4. QA를 위해 develop 브랜치 -> release 브랜치 생성 / 작업

5. QA를 통한 작업 완료 후, release 브랜치 -> main 브랜치로 Merge 및 배포

6. 배포 후 버그 발생 시, main 브랜치 -> hotfix 브랜치 생성 / 작업

7. 버그 fix후, main 브랜치 Merge 및 배포

 

위와 같은 방식으로 개발 사이클이 돌아간다고 생각하면 됩니다. 위 방식의 경우, 서비스 운영에서 안정성을 필요로 할 때 많이 사용됩니다. 제가 다녔던 게임 회사들의 경우, 저련 형태를 많이 사용했습니다.

 

물론 위와 같이 진행하지 않아도 됩니다. 안정성에 큰 영향을 주지 않는 서비스나 프로젝트의 경우, main 브랜치에서 기능을 추가할 때 feature 브랜치만 만들어서 작업 후 Merge 하는 방식을 사용해도 됩니다. 이런 방식을 Trunk-based 전략이라고 합니다.

 

이번 글에서는 간단하게 Git을 통한 개발 전략 중 Git Flow 전략에 대해서 알아보았습니다.

 

 

함께보면 좋은 정보들

Git Branch Merge 다양한 방법들( fast forward merge, rebase merge, squash merge ) 및 Branch 삭제방법

Git에서 이전 상태로 되돌리는 방법 알아보기( git revert, reset, restore )

Git stash 사용법 알아보기 ( commit하지않고 코드 임시 보관하는 방법 )

VSCode에서 Git Graph 확장프로그램 사용하기

 

 

반응형

댓글