Git ④ Gitflow Workflow

Xxell-8·2021년 8월 28일
0

Git

목록 보기
4/5

Gitflow Workflow는 nvie의 Vincent Driessen에 의해 제안되었으며, 프로젝트 릴리즈를 중심으로 설계된 엄격한 branching model이다. 지속적 SW개발 및 DevOps 구현에 도움이 되어 대규모 프로젝트 관리에도 적용 가능한 workflow이다.

  • Gitflow Workflow는 5가지의 git branch를 사용하는데,

    항상 유지되는 메인 브랜치인 maindevelop과 일정 기간 동안만 유지되는 보조 브랜치인 feature, release, hotfix이다.

main

  • 공식 릴리스 기록을 저장하는 최상단 브랜치
  • 배포 이력을 관리하기 위해 사용하기 때문에 배포 가능한 상태만을 관리하는 역할

develop

  • 다음 릴리스 버전을 개발하며, 최신 개발 변경 사항을 기록하는 통합 브랜치
  • 기능 개발을 위한 브랜치들을 merge하기 위해 사용하며, 모든 기능이 추가되고 버그가 수정되어 배포 가능한 상태일 때 main 브랜치에 merge
  • 개발 단계에서는 develop 브랜치를 기준으로 작업 진행

feature

  • 기능을 개발하는 브랜치 (ex. feature/login)
  • 새로운 기능을 개발하거나 버그 수정이 필요할 때, develop 브랜치에서 특정 feature 브랜치를 분기하여 개발을 진행
  • 개발이 완료되면 다시 develop 브랜치로 merge되며, 더이상 필요하지 않은 feature 브랜치는 삭제

release

  • 출시 버전을 준비하는 브랜치 (ex. release-2.1)
  • 배포를 위한 전용 브랜치로 릴리스가 준비되면 develop 브랜치로부터 release 브랜치를 분기하여 배포에 필요한 최종 버그 수정 및 문서 작업 등을 수행
  • release 브랜치를 통해 배포를 준비하면, 그 기간 동안에도 develop 브랜치에서는 다음 버전을 위한 개발이 진행될 수 있음

hotfix

  • 릴리스 버전에서 발생한 버그를 수정하는 브랜치 (ex. hotfix-2.1.1)
  • 배포된 버전에서 급하게 수정이 필요한 경우, master 브랜치에서 hotfix 브랜치를 분기하여 작업을 수행
  • master 브랜치로부터 분기되어 다른 개발 단계를 고려하지 않고, 특정 문제를 빠르게 해결할 수 있음

Branch의 전체적인 흐름

0개의 댓글