🤔 포스팅 계기
앞으로 진행할 프로젝트에서 이전과 달리 git을 활용하여 진행할 예정이다.
원활한 협업을 위해 git 공부를 하고 있지만 실제 협업에서 쓰이는 git branch 전략에 대해 처음 들어보았다..!
git branch 전략 중 가장 많이 사용되는 방식인 Git Flow에 대해 자세히 알아보았다.
🔍 Git 브랜치 전략이란 ?
여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 work-flow다.
각 브랜치는 어떤 브랜치를 생성할지, 어디에서 분기할지, 어디로 병합할 것인지 등등
git branch에 규칙을 만들어 협업을 유연하게 하는 방법론을 말한다.
git 브랜치에 어떤 규칙을 정할 것인지 팀원들끼리 자유롭게 규칙을 정해도 되지만,
기존에 관례적으로 사용되는 Git Branch 전략을 사용한다면 더 원활하게 진행할 수 있을 것이다.
Git Branch 전략에는 git flow, github flow,gitlab flow 가 있으며
그 중 가장 전통적으로 많이 사용되는 방식인 Git Flow에 대해 알아보고자 한다.
📍 Git Flow 브랜치 전략
Git Flow는 Vincent Driessen이 2010년에 제시한 Git branch 전략이다.
Git Flow에는 main, develop,feature,release,hotfix 5가지 브랜치가 있다.
- main : 라이브 서버에 제품으로 출시되는 브랜치
- develop : 다음 출시 버전을 대비하여 개발하는 브랜치
- feature : 추가 기능 개발 브랜치. develop 브랜치에서 생성하고 merge한다.
- release : 다음 버전 출시를 준비하는 브랜치. develop 브랜치에서 생성하고 main,develop에 merge한다.
- hotfix : main 브랜치에서 발생한 버그를 수정하는 브랜치. main 브랜치에서 생성하고 main,develop에 merge한다.
5가지 중, 개발 프로세스 전반에 걸쳐 항상 유지되는 메인 브랜치 main, develop 브랜치 2가지와
merge되면 사라지는 보조 브랜치 feature, release, hotfix 3가지로 구성된다.
1. main 브랜치
라이브 서버에 제품으로 출시되는 브랜치로 배포 가능한 상태만을 관리하는 브랜치이다.
개발 프로세스 전반에 걸쳐 유지되며 배포된 각 버전을 tag를 이용해 표시해둔다.
2. develop 브랜치
다음 출시 버전을 대비하여 다음 배포할 것을 개발하는 브랜치이다.
즉 develop 브랜치는 통합 브랜치의 역할을 하며, 평소에는 develop 브랜치를 기반으로 개발을 진행한다.
개발이 완료되면 mian 브랜치로 merge된다.
3. feature 브랜치
하나의 기능, 새로운 기능을 개발하기 위한 브랜치이다.
develop 브랜치에서 생성하며 , 기능이 개발 완료되면 다시 develop 브랜치에 merge한다
이때 Merge commit을 생성하며 머지 해주어야 커밋 히스토리가 기능 단위로 묶이게 된다.
- 브랜치 생성 (분기) : develop 브랜치
- merge : develop 브랜치
4. release 브랜치
배포를 준비하기 위한 브랜치이다. 배포를 위해 사소한 버그를 수정하는 데 사용된다.
develop 브랜치에서 생성하며, 배포 준비가 완료되면 main,develop 브랜치에 merge한다.
출시된 merge 브랜치에는 태그를 이용해 버전을 표시한다.
- 브랜치 생성(분기) : develop 브랜치
- merge : main, develop 브랜치
5. hotfix
main 브랜치에서 발생한 버그를 수정하는 브랜치로, 즉 배포한 버전에서 빠르게 수정해야 할 버그가 있을 때 main을 빠르게 변경하기 위해 사용한다. main 브랜치에서 생성 후 버그 수정이 완료되면 main과 develop에 merge 한다.
급하게 버그를 고치기 위해 생성되는 브랜치이기 때문에 버그 해결 후 보통 제거하는 일회성 브랜치이다.
- 브랜치 생성(분기) : main 브랜치
- merge : main, develop 브랜치
'ETC > Git' 카테고리의 다른 글
[Git] branch merge 방법 - 세 가지 merge 전략 (0) | 2024.03.21 |
---|