Git-flow
깃플로우(Git-flow)는 2010년에 Vincent Driessen이 만든 Git을 이용한 개발 작업 절차이다. 즉, 프로그램 같은 것이 아니라 약속,규칙의 개념이다. 그리고 중요한 점은 깃플로우는 완벽한 방법이 아니기 때문에 각자 개발 환경에 따라서 수정하고 변형해서 사용하는 것을 추천한다.
Git-flow의 브랜치
깃 플로우는 5가지의 브랜치를 사용한다.
- master : 제품으로 출시(배포)할 수 있는 브랜치
- develop : 다음 버전을 개발하는 브랜치
- feature : 단위별로 기능을 개발하는 브랜치이며, 완료되면 develop 브랜치와 병합한다.
- release : 배포하기 전에 QA를 통해 버그를 찾아내기 위한 브랜치이다.
- hotfixes : master 브랜치에서 발생한 버그를 긴급하게 수정하는 브랜치이다.
Git-flow 예시
이미지 출처
위의 이미지는 Git-flow 예시를 설명할 때 가장 많이 사용되는 이미지이다.
- 처음은 master 브랜치에서 시작한다.
- 동일한 브랜치를 develop에도 생성을 하며, 개발자들은 develop 브랜치에서 개발을 진행한다.
- 개발을 진행하다가 기능 구현이 필요하다면 A개발자는 develop브랜치에서 feature 브랜치를 하나 생성해서 기능 구현을 하고, B개발자도 기능 구현이 필요하다면 마찬가지로 feature 브랜치를 하나 생성해서 구현한다.
- 완료된 feature 브랜치는 검토를 거쳐 다시 develop 브랜치에 합쳐진다.
- 모든 기능이 완료되면 develop 브랜치를 release 브랜치로 만든다. 그리고 QA를 진행하며 보완점을 보완하고 버그를 고친다.
- 모든것이 끝나면 release 브랜치를 master브랜치와 develop 브랜치로 보낸다. master 브랜치에서 버전추가를 위해 태그를 하나 생성하고 배포한다.
- 배포를 했는데 버그가 있을 경우 hotfixes 브랜치를 만들어 수정 후 태그를 생성하고 수정 배포한다.
Workflow
팀에서 브랜치를 어떻게 사용할 지에 대한 규칙을 Workflow라고 한다.
참고한 사이트 :
https://velog.io/@pond1029/Git-Workflow
https://ux.stories.pe.kr/183
https://chanyeong.com/blog/post/15