Git Flow란?
scrum 방식 처럼 git을 어떻게 하면 효율적으로 사용할 수 있는가? 에서 나온 말이다.
Git flow 에서는 branch가 총 5개이다.
- Develop : 현재 우리가 사용하는 Local Master 브랜치 역할을 한다. 그래서 이 브랜치가 개발이 되는 기준이 된다.
- Master : 배포가 된 코드를 저장한다.
- Q: Master 브랜치가 왜 필요할까? A : 개발용과 서비스용으로 나누기 위해서이다. 예를들어, 개발용 브랜치(Develop)가 없다면 Master 브랜치에 개발중인 commit이 들어와 배포하지 못하고 기다려야 할 수 있기 때문이다.
- Release : 배포 테스트용 브랜치(배포 후보) => 만약 버그가 생기면 이곳에서 해결 후 모든게 해결되서 안정화되면 Master 브랜치와 Develop 브랜치로 Merge 한다.
- HotFix : 긴급수정용 브랜치 => Master 브랜치에서 깐 이후 해결되면 Master와 Develop 브랜치에 Merge한다. (모두 고친 이후에는 해당 브랜치를 삭제해도 된다)
- Feature : Develop에서 개발시 까는 브랜치