[Git] git flow

공수정·2021년 11월 4일
1

git

목록 보기
6/7
post-thumbnail

1. git flow란?

git을 사용하여 개발할 때 거의 표준과 같이 사용되는 방법론으로 git이 나오고 활성화 된 이후에 Vincent Driessen라는 사람의 블로그 글에 의해 널리 퍼지기 시작했다고 합니다.
처음 git flow에 대해서 말한 Vincent Driessen은 git flow가 가장 완벽한 방법론은 아니고, 각자 개발 환경에 따라서 수정하고 변형해서 사용하라고 언급했습니다.

2. branch

git flow는 5가지의 브랜치를 사용해서 운영을 합니다.
1. master: 기준 브랜치, 제품을 배포하는 브랜치
2. develop: 개발 브랜치, 개발자들이 이 브랜치를 기준으로 각자 작업한 기능을 merge
3. feature: 단위 기능 개발 브랜치, 기능 개발이 완료되면 develop 브랜치에 merge
4. release: QA(품질검사) 브랜치, 배포를 위해 master에 merge하기전에 품질검사를 하기 위한 브랜치
5. hotfix: 긴급 수정 브랜치, master 브랜치로 배포했는데 버그가 생겼을때 긴급 수정하는 브랜치

master와 develop이 메인 브랜치,나머지는 필요에 의해 운영하는 브랜치

3. 순서

  1. master 브랜치에서 시작
  2. 동일한 브랜치를 develop에서도 생성, 개발자들은 develop에서 개발
  3. 개발자마다 기능 구현을 나눠서 할 경우 (ex. 회원가입은 A 개발자가, 장바구니는 B개발자가,,,),
    각 개발자가 develop에서 feature 브랜치를 생성해 그 브랜치에서 각자의 기능 구현
  4. 완료된 feature 브랜치는 검토를 거쳐 develop 브랜치에 merge
  5. 모든 기능이 완료가 되면 develop 브랜치를 release 브랜치로 만들고, 품질검사를 통해 보완할 점은 보완하고 버그는 해결합니다.
  6. 완료가 되면 release 브랜치를 master 브랜치와 develop 브랜치로 보내고, master에서는 버전 추가를 위해 tag를 생성하고 배포합니다.
  7. 배포 이후 버그가 있을 때는 hotfix 브랜치를 만들어 긴급 수정 후 태그를 생성하고, 수정 배포를 합니다.

참고
1. Git Flow 개념 이해하기

profile
계속해서 공부하는 개발자입니다 :)

0개의 댓글