GitFlow 전략
-
주요 Branch는 총 4개다.
-
Master / Dev / Release / Hotfix
-
Master에서 Dev를 생성한다.
-
이 후 Dev에 대해서
Feature Branch를 생성해서 작업한다.
- 그러면 다음과 같은 구조가 된다.
Level 2 : Dev -- Feature/login
: -- Feature/logout
Level 1 : Master
-
이제 이 상황에서 Release를 할 시점이 오면
Dev를 기준으로 Release Branch를 생성한다.
Level 2 : Dev -- Feature/login Release
: -- Feature/logout
Level 1 : Master
Case 1. Release Branch를 생성 후 추가적인 작업이 진행 될 경우
- Release를 기준으로 Branch를 생성해서 작업을 한다.
Level 3 : Release -- Feature/FindPW
Level 2 : Dev -- Feature/login
: -- Feature/logout
Level 1 : Master
-
그리고 Release에 대한 작업이 끝나면
Master에 Merge를 하여 배포한다.
Level 4 : Master <- - - - - - - - - - - - - -┓
Level 3 : Release -- Feature/FindPW
Level 2 : Dev -- Feature/login
: -- Feature/logout
Level 1 :
-
그리고 Master에 내용을
다시 Dev에 Merge를 하여
Master와 Dev의 Sync를 맞춘다.
Level 4 : Master Dev
Level 3 :
Level 2 :
Level 1 :
Case 2. Release Branch를 생성 후 추가적인 작업이 없을 경우
-
추가 작업이 없는 경우엔
Release Branch를
바로 Master Branch에
Merge 하여 배포한다.
Level 3 : Master <- - - - - - - - - - - - - -┓
Level 2 : Dev -- Feature/login Release
: -- Feature/logout
Level 1 :
-
그리고 Master에 내용을
다시 Dev에 Merge를 하여
Master와 Dev의 Sync를 맞춘다.
Level 3 : Master Dev
Level 2 :
Level 1 :
Hotfix Branch
- 긴급하게 Hotfix가 발생할 경우
Level 2 : Dev -- Feature/login
: -- Feature/logout
Level 1 : Master
- Master를 기준으로 Hotfix Branch를 생성한다.
Level 2 : Dev -- Feature/login
: -- Feature/logout
Level 1 : Hotfix Master
- 그리고 Hotfix에 작업을 진행하고
Level 2 : Hotfix -- Feature/FindPW Dev -- Feature/login
: -- Feature/logout
Level 1 : Master
-
Hotfix에 대한 작업이 끝나면
Master에 Merge를 한 후
Level 3 : ┎- - - - - - - - - - - - -> Master
Level 2 : Hotfix -- Feature/FindPW Dev -- Feature/login
: -- Feature/logout
Level 1 :
-
Master를 배포한다.
-
그리고 Master에 추가된 내용을
다시 Dev에 Merge를 하여
Master와 Dev의 Sync를 맞춘다.
Level 3 : Master Dev
Level 2 :
Level 1 :
-
Master를 Dev에 Merge 하지 않고
Dev에서 Feature Branch 생성하게 되면
가장 최신의 코드가 아닌 상태로 개발이 진행된다.
-
그리고 기존에 있던
Feature/login, Feature/logout 작업은
완료되면 Dev에 Merge시킨다.
-
이후 신규 개발은
Dev를 Base로 Feature Branch를 생성하여 작업한다.
Level 4 : Dev -- Feature/payment
: -- Feature/refund
Level 3 : Master
Level 2 :
Level 1 :