Git Flow란?

브랜치를 나누는 전략 중 하나이다.

  • main: 정식 배포의 기준이 되는 브랜치이다. 언제나 배포 가능한 상태로 유지되어야 하는 브랜치이다.
  • develop: 개발 중인 코드를 관리하는 브랜치이다. 새로운 기능 개발, 개발된 변화를 담은 버전 배포작업이 시작될 수 있다.
  • feature: 개발할 기능을 위한 브랜치이다. 기능 개발이 완료될 시, develop으로 병합되고 feature는 제거된다.
  • release: 배포를 위한 브랜치이다. 배포 전 마무리 작업, 버그 수정이 이루어진다. 완료 시 main, develop으로 병합되고 제거된다.
  • hotfix: 긴급한 버그 수정을 위한 브랜치이다. master 브랜치를 기준으로 생성하게 된다.

왜 branch를 분류하나요?

협업 중 수정된 코드의 충돌을 방지하기 위해서

장점

  • 안정적인 배포를 위한 구조
  • 긴 개발 주기에 적합, 복잡한 기능 개발 버그 수정에 유용

단점

  • 브랜치가 많아지고, 관리해야 할 작업 증가
  • 작은 규모의 프로젝트에는 비효율적

참고

git-flow 도구
github Convention 정리, 모음
git flow란

profile
열심히 아자아자

0개의 댓글