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 확장프로그램 사용하기
'개발 > Git & GitHub' 카테고리의 다른 글
Github로 협업 하기 ( git clone, pull 사용법 알아보고 코드 내려받기 ) (0) | 2023.06.03 |
---|---|
Github 사용법 ( git push 로 remote repository에 코드 올리기 ) (0) | 2023.05.31 |
Git stash 사용법 알아보기 ( commit하지않고 코드 임시 보관하는 방법 ) (0) | 2023.05.29 |
Git에서 이전 상태로 되돌리는 방법 알아보기( git revert, reset, restore ) (0) | 2023.05.28 |
Git Branch Merge 다양한 방법들( fast forward merge, rebase merge, squash merge ) 및 Branch 삭제방법 (0) | 2023.05.27 |
댓글