Git - Git flow

kim woohyun·2023년 10월 29일
0

Git

목록 보기
2/2

1. Git Flow 전략이란?

Git branch 전략중 하나이며 개발자들 사이에 가장 널리 사용되는 브랜치 전략중 하나이다.
네덜란드 출신의 Vincent Driessen라는 개발자가 공유한 Branch 전략으로 알려져 있다.(관련 : https://github.com/nvie/gitflow)

앞서 선수지식이 필요한데 Git Branch 전략이라고 다들 아시나요 ?

1-1. Git Branch 전략

브랜치 전략이란 협업시 다수의 개발자가 하나의 저장소를 공통으로 사용하며 저장소를 더 효과적으로 사용하기위한 ' 전략 '중 하나이다.

예를 들어 " 어떤 브랜치가 기준이지? " , " 어떤 브랜치가 최신이지? " , " 어떤 브랜치를 pull 해야하지? " 등등의... 협업상황에서 충분히 발생 할 수 있는일들을 최소화 해줄수있는게 브랜치 전략이다.


2. Git Flow 전략을 알아보자


( Flow 전략 설명시 빠지지 않는 가장 유명한 이미지 )

✍ 기본으로 항상 유지되는 master , develop 2가지 브랜치와 merge시 사라지는 보조 브랜치 feature , release , hotfix 3가지로 구성된다.
ㅡ ( 뒤의 보조 브랜치 3가지를 Supporting 브랜치 라고합니다. )

master 브랜치와 develop 브랜치는 프로젝트 전반에 걸쳐 항상 유지되는 브랜치인 반면 Supporting 브랜치의 경우 필요할때마다 수동적으로 생성되고, 역할을 다하면 사라집니다.

이러한 특성을 통해 프로젝트의 브랜치 구조를 보다 체계적으로 관리하고, 각각의 브랜치가 독립적으로 병렬 작업을 수행할 수 있습니다.4


3. 각 브랜치의 역할

이번에는 각 브랜치의 역할에 대해서 알아볼까요? 중요한 내용들이니 최상단의 전체적인 흐름 이미지를 참고하여 꼼꼼히 보시길 바랍니다!

💡 Master 브랜치

  • 실제로 출시가 가능하며 배포 가능한 상태인 브랜치를 말합니다 각 버전에 따라 Tag를 사용하여 표시합니다.

💡 Develop 브랜치

  • 개발 중인 코드들을 모아두는 브랜치로 새로운 기능, 개발 작업은 이 브랜치에서 작업됩니다. 개발이 완료후 승인시 Master 브랜치로 Merge 됩니다

(위의 두 브랜치의 흐름)


💡Feature 브랜치

  • 하나의 기능 개발을 위한 브랜치로 Develop 브랜치에서 생성이되며 Develop 브랜치에서 생성됩니다. 개발 완료후 다시 Develop 브랜치로 병합이됩니다.

  • 또 별도의 네이밍 규칙이 있습니다.

//develop branch > Feature branch
// feature/branch-name
ex) git checkout -b feature/test develop


💡Release 브랜치

  • 다음 버전 출시를 준비하는 브랜치입니다. Develop 브랜치에서 생성이되며 개발 완료후 Release 브랜치를 다시 최신 Develop에 Merge후 해당 내용을 Master에 Merge하여 배포합니다.
    ( 이미지 참고하시면 이해가 빠르실거에요 ! )

  • 물론 네이밍 규칙이 있습니다.

// relese-v1.1
// relese/v1.2 등등...
// 편하신것 사용하시면 될 듯 합니다 ㅎㅎ 


💡HotFix 브랜치

  • 이미 출시/배포된 버전에 문제가 발생했따면 HotFix 브랜치를 사용하며 문제를 해결합니다. Master 브랜치에서 바로 새엉되며 문제가 해결이 완료되면 Master / Develop 브랜치에 둘 다 Merge 합니다.

  • 네이밍 규칙

// hotfix/v1.0.1
// hotfix/v1.1


( 가독성이 좋은 예시 )


2023-10-29

0개의 댓글