Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

깃 브랜치 전략

sunho-lee edited this page May 14, 2021 · 1 revision

git branch 전략

이 프로젝트의 버전 관리는 git을 사용하며 코드는 github에 보관하며 관리하고 있습니다. git 브랜치 전략으로는 git flow를 사용하고 있습니다.

git flow 개요

git flow는 총 5가지 브랜치로 나뉜다.

  • main : 서비스로 출시될 최종 브랜치
  • hotfix : main 브랜치에서 발생한 버그를 수정하기 위한 브랜치
  • release : develop 브랜치를 main 브랜치와 병합하기 전 검증 단계 브랜치
  • develop : 다음 버전을 개발하는 브랜치
  • feature : develop 브랜치에 병합하기 위해 개발하는 브랜치

git flow 개발 흐름 살펴보기

참고 : 기본 브랜치명은 master에서 main으로 변경됨

  1. 오른쪽 맨 위 main 브랜치에서 프로젝트의 0.1 버전을 배포하였다.
  2. 다음 버전을 위해 develop 브랜치를 생성하고 버그 수정 등 커밋이 이뤄진다.
  3. 기능 개발을 위해 develop 브랜치에서 병렬적으로 feature 브랜치를 생성하고 개발이 완료되면 develop 브랜치에 병합한다.
  4. main 브랜치에서 발생한 버그를 수정하기 위해 hotfix 브랜치를 생성하여 버그를 수정하고 main 브랜치와 병합하고 0.2버전 태그를 붙여 배포한다.
  5. hotfix 브랜치에서 수정된 것은 이후 개발되는 버전에도 적용되도록 develop 브랜치에도 병합한다.
  6. develop 브랜치의 1.0 버전 개발이 완료되면 최종 확인을 위해 release 브랜치를 생성한다.
  7. release 브랜치에서 버그나 수정이 이루어지면 이후 버전에도 적용되도록 'develop' 브랜치에 병합한다.
  8. release 브랜치에서의 작업이 완료되면 main 브랜치로 병합하고 1.0 태그를 붙여 배포한다.

이상으로 git flow 개발 흐름을 살펴보았다. 실제 배포되는 서비스라면 필요한 최소 기능을 개발하고 배포하여 사용자의 반응을 살펴보는 것이 좋을 것이다. 하지만 이 프로젝트는 학습을 위한 것이기 때문에 로그인 기능, 판매 기능 등 모듈 단위로 개발하고 고도화 시키기 때문에 위의 모든 브랜치가 필요하지 않다. 아래는 프로젝트에 적용될 브랜치 전략이다.

프로젝트에 적용

  1. main 브랜치에서 프로젝트 생성
  2. develop 브랜치 생성
  3. 개발할 내용을 이슈에 등록하고 해당 이슈 번호에 맞게 feature/{이슈 번호} 브랜치 생성
  4. feature 브랜치에서 개발이 완료되면 코드 리뷰 후 approve될 경우 develop 브랜치에 병합
  5. 3,4번 반복하기