GitFlow WorkFlow

진성·2022년 8월 22일
0
post-thumbnail

깃이 무엇인지 모른다면 Git 👈 이전에 포스팅 했던 간략한 깃정리를 확인하고 오면 좋다.

WorkFlow

워크플로우는 시작에서 완료까지 특정 경로를 통해 데이터를 처리하는 일련의 작업을 의미한다.
산업에 관계없이 모든 종류의 비즈니스 기능을 구성하는데 사용할 수 있다.
기본적으로는 사람 또는 시스템 간에 데이터가 전달 될 때마다 워크플로우가 생성된다.

이러한 워크플로우의 목적은 실행 취소에서 완료 또는 처음에서 처리로 진행되는 방식을 설명하는 경로를 지정하는 것이다.

GitFlow는 Git의 WorkFlow를 적용한 것이다.

GitFlow

깃플로우는 깃을 통해서 협업을 진행할 때 약속과 같은 개발방식이다.

깃플로우가 무엇인지 한눈에 보여주는 이미지이다.
위 이미지를 보면 길이 여러갈래로 나누어져있는데 브랜치의 종류들이다.

메인 브랜치

메인이 되는 브랜치로 사라지지 않는 브랜치들이다.

  • master
    • 배포를 하는 브랜치로 HEAD는 항상 프로덕션 상태와 일치한다.
  • develop
    • 다음 버전 출시를 위한 개발한 브랜치로 HEAD는 항상 최신 개발 변경 사항을 제공한다.
    • 릴리즈 할 준비가 되면 모든 변경 사항을 master 브래치와 병합 한다.

보조 브랜치

필요에 따라서 생성하고 삭제하는 브랜치이다.
병렬 개발을 지원하고, 이를 관리하기 위해 있는 브랜치들이다.
기능 개발을 하거나 프로덕션 배포를 준비하고, 라이브 프로덕션 문제를 신속하게 수정하는 등 브랜치를 통해 관리한다.

  • feature
    • 기능을 개발하는 브랜치이다.
  • release
    • 배포를 위해 최종 수정을 하는 브랜치이다.
  • hotfix
    • 출시한 master 브랜치를 빠르게 패치하기 위해 사용하는 브랜치이다.
    • release 브래친와 유사하지만 master 브랜치에서 분기하는 유일한 브랜치이다.
    • hotfix 브랜치를 사용하면 긴급하게 수정해야 하는 버그에 대해서 다음 릴리즈 주기를 기다리지 않고 바로 문제 상황을 대처한다.

모든 브랜치를 정리해보면 아래와 같다.

  1. mastrer 브랜치를 기준으로 develop 브랜치를 생성한다.
  2. develop 브랜치를 기준으로 feature와 relese 브랜치를 생성한다.
  3. 기능개발이 완료되면 develop 브랜치에 feature 브랜치를 merge한다.
  4. 릴리즈 준비가 완료되면 master와 develop 브랜치의 각각 merge한다.
  5. 만약 master 브랜치에 문제가 생기면 hotfix 브랜치를 생성한다.
  6. hotfix가 완료되면 master와 develop 브랜치의 각각 merge한다.

위와 같은 흐름으로 개발을 진행하는 것이 GitFlow이다.
회사에서나 협업을 하면 무조건 사용하기에 미리 알아두고 공부하는 것이 좋다.

참고: What is a Workflow?, [git] Gitflow Workflow에 대해서 알아보자!

profile
풀스택 진행중...

0개의 댓글