[GIT] Git Flow
git flow가 무엇인지 살펴보자.
깃 플로우란?
- 브랜치를 어떻게 운영할 것인가에 대한 좋은 사례

브렌치 종류
- master
- develop
- feature
- release
- hotfix
master
- 언제나 실행 가능한 상태
- 운영 배포 시 해당 branch 에서
Tag생성 hotfixesorrelease를 통해서만 merge 가능
develop
- 실행 가능한 상태를 만들어가는 브랜치
- 모든 브랜치(
feature,release,hotfix,master) 와 동기화 되어있어야 함. - 주로
feature의 merge 대상이 됨.
release
- 출시를 준비하는 브랜치
- naming : release/{차기 버전명}
ex) release/1.1 - 배포 전
develop에서 checkout 을 통해 추가 기능의 유입을 막는 역할 - 해당 브랜치는 오로지 버그 수정만 가능
- 정상 동작 확인 후
master에 merge (+develop에도 merge 필수)- 배포 기록을 남기기 위해 반드시
버전이 명시된 commit 메시지와 함께 no fast forward merge 해야 함. (ex.git merge --no-ff release/1.1) - master 가 release 와 병합했다는 로그를 남기는 것이 git flow 정책
- 배포 기록을 남기기 위해 반드시
- master merge 후 배포버전에 대한
Tag생성 - 배포 완료된 release 브랜치는 삭제
feature
- 구현 기능 단위 별 feature 생성
- naming : feature/{기능명}
- 병렬적으로 여러
feature가 존재 할 수 있음. - 기능 구현이 완료된
feature는develop에 no fast forward merge한다. - merge 완료 후 해당
feature브랜치 삭제
hotfixes
- 운영 배포된 소스의 버그를 긴급 수정하기 위한 브랜치
- naming : hotfixes/{차기 버전명}
ex) 기존 : Tag 1.2 -> hotfix/1.2.1 - 배포 버전에 긴급한 버그 수정이 필요한 경우 master branch 에서 checkout 후 오로지 버그만 수정
- 수정 후 master, develop 둘 다 no fast forward merge 필요
- master 에서 수정된 버전으로 Tag 를 남김.
- 완료된 hotfixes 브렌치는 삭제
댓글남기기