Git Flow

이진경·2023년 1월 18일
0
post-thumbnail

✅ Git Flow

git-flow는 git으로 개발할 때 표준과 같이 사용되는 방법론이고, 총 5가지의 브랜치를 사용해서 운영을 한다.

  • master : 기준이되는 브랜치로 제품을 배포하는 브랜치이다.
  • develop : 개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들은 merge한다.
  • feature : 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 합친다.
  • release : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA를 하기위한 브랜치이다.
  • hotfix : master 브랜치로 배포 후 버그가 생겼을 때 수정하는 브랜치이다.

masterdevelop이 중요한 메인 브랜치이고, 나머지는 필요에 의해 운영되는 브랜치이다.

  1. master브랜치에서 시작한다. (develop 브랜치는 master에서부터 시작된 브랜치)

  2. 동일한 브랜치를 develop에도 생성한다. 브랜치에는 상시로 버그를 수정한 커밋들이 추가된다.

  3. 새로운 기능 추가 작업이 있는 경우 develop 브랜치에서 feature 브랜치를 생성한다.

    • feature 브랜치는 언제나 develop 브랜치에서부터 시작하게 된다.
  4. 기능 추가 작업이 완료되었다면 feature 브랜치는 develop 브랜치로 merge된다.

  5. develop에 이번 버전에 포함되는 모든 기능이 merge 되었다면 QA를 하기 위해 develop 브랜치에서부터 release 브랜치를 생성한다.

    • QA를 진행하면서 발생한 버그들은 release 브랜치에 수정됩니다.
  6. QA를 무사히 통과했다면 release 브랜치를 master와 develop 브랜치로 merge 합니다. 마지막으로 출시된 master 브랜치에서 버전 태그를 추가합니다.

✅ Git Flow 진행

규모가 있는 개발을 할 경우 브랜치보다는 ForkPull requests를 활용하여 구현한다.

Fork는 브랜치와 비슷하지만 프로젝트를 통째로 외부로 복제해서 개발하는 방식이다. 개발 후 브랜치처럼 merge를 바로 하는 것이 아니라 pull requests로 원프로젝트 관리자에게 머지 요청을 보내면 원 프로젝트 관리자가 pr된 코드를 보고 적절하다 싶으면 그때 기능을 붙이는 식으로 개발한다.

profile
멋찐 프론트엔드 개발자가 되자!

0개의 댓글