[11월4주차]Git Flow란 무엇인가, 정리

carlkim·2023년 10월 19일
0

Git Flow 정의.

한 마디로 브랜치 전략 으로 부를 수 있다.

여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 방법론이다.
브랜치의 생성, 삭제, 병합 등 git의 유연한 구조를 활용해서
개발 자들의 혼란을 최대한 줄이며 다양한 방식으로 소스를 관리하는 역할.

즉, 브랜치 생성에 규칙을 만들어서 협업을 유연하게 하는 방법론이다.

브랜치 전략이 없다면?

브랜치 전략이 없을 때 단점은?
• 어떤 브랜치가 최신 브랜치지?
• 어떤 브랜치를 끌어와서 개발을 시작해야 하지?
• 어디에 Push를 보내야 하지?
• 핫픽스를 해야하는데 어떤 브랜치를 기준으로 수정해야할까?
• 배포 버전은 어떤 걸 골라야하지?
규모가 어느정도 이상되는 저장소를 사용한다면 혼동이 될 상황이다.

이런 상황을 최소화하기 위해서 브랜치 전략을 사용한다.
Git Flow 전략
• 기본적인 가지의 이름은 아래의 5가지로 구분하곤 한다.
• feature > develop > release > hotfix > master
• 위 순서들은 왼쪽으로 갈수록 포괄적인 가지이며 master branch를 병합할 경우 그 왼쪽에 있는 hotfix 등 모든 가지들에 있는 커밋들도 병합하도록 구성하게 된다.
• 5가지 중, 항시 유지되는 메인 브랜치 master, develop 2가지와 merge 되면 사라지는 보조 브랜치 feature, release, hotfix 3가지로 구성된다.

Git-flow 브랜치 구조
• master : 라이브 서버에 제품으로 출시되는 브랜치.
• develop : 다음 출시 버전을 대비하여 개발하는 브랜치.
• feature : 추가 기능 개발 브랜치. develop 브랜치에 들어간다.
• release : 다음 버전 출시를 준비하는 브랜치. develop 브랜치를 release 브랜치로 옮긴 후 QA, 테스트를 진행하고 master 브랜치로 합친다.
• hotfix : master 브랜치에서 발생한

profile
기본부터 가면 됩니다.

0개의 댓글