공부기록
GITFLOW 본문
GITFLOW?
gitflow는 git을 활용하여 효율적으로 작업을 하기 위한 개발기술이다. 작업은 병렬적으로 하되 완성된 코드는 하나로 모이는, 'decenteralized but centralized' 의 철학을 가지고 있다.
![](https://blog.kakaocdn.net/dn/vkjyy/btq42ADgtxg/hugyFLuqf14808a9lFbeek/img.png)
이 사진은 gitflow의 모든 것을 요약한 사진이라고 할 수 있다.
Branches
여러 종류의 브렌치들을 통해 이러한 작업을 할 수 있다. 브렌치의 종류에는 master, develop, feature, release, hotfix 브렌치가 있다.
- master : 제품으로 출시될 수 있는 브렌치
- develop : 다음 출시 버전을 개발하는 브렌치
- feature : 기능을 개발하는 브렌치
- release : 이번 출시 버전을 준비하는 브렌치
- hotifx : 출시 버전에서 발생한 버그를 수정하는 브렌치
작업 순서
간단한 작업순서는 다음과 같다.
matser에서 develop으로 분기한다.
develop은 feature 브렌치들로 분기한다.
feature 브렌치들의 코드가 구현되면 develop 브렌치로 merge된다.
이번 릴리즈까지 완성될 모든 feature들이 develop으로 병합되었다면, develop을 release 브렌치로 병합한다.
release 브렌치에서 디버깅을 수행한 뒤 release는 master와 develop으로 merge된다.
만약 서비스에 오류가 생겨 핫픽스가 필요할 경우, master는 hotfix 브렌치로 병합된다. hotfix 브렌치에서 핫픽스가 끝나면 master와 develop 브렌치로 병합된다.
출처
https://nvie.com/posts/a-successful-git-branching-model/
https://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html