[Git] 브랜치 전략

Junseo Kim·2021년 2월 17일
1

[Git]

목록 보기
1/2

웨지의 Git코톡 - 깃브랜치전략 발표를 듣고 정리해봤습니다.

브랜치 전략?

브랜치 전략은 협업 과정에서 git 저장소를 효율적으로 쓰기 위한 전략

git-flow

5가지의 브랜치를 이용하는 전략. 주기적으로 배포하는 서비스에 적합.

2개의 메인 브랜치와 3개의 보조 브랜치가 존재한다. 메인 브랜치와 달리 보조 브랜치는 역할을 끝내면(merge되면) 삭제된다.

메인 브랜치

  • master: 실제 배포에서 사용할 브랜치
  • develop: 다음 버전을 개발하는 브랜치

보조 브랜치

  • feature: 기능 개발 브랜치
  • release: 이번 출시 버전 준비 브랜치
  • hotfix: 출시 버전에서 발생한 버그 수정 브랜치

진행 과정

  1. develop 브랜치에서 기능을 개발하기 위한 feature 브랜치 생성
  2. 기능이 완성되면 develop 브랜치에 merge 후 feature 브랜치 삭제
  3. 이번 버전 기능이 모두 완료되면 QA(품질보증)을 위해 release 브랜치 생성
  4. 오류 발생시 수정. QA 완료 시, 해당 버전을 배포하기 위해 master 브랜치로 merge 후 release 브랜치 삭제(이 때 수정사항이 있다면 develop 브랜치에도 merge)
  5. master 브랜치에서 버그 발생 시, hotfix 브랜치 생성
  6. 오류를 수정하고 master와 develop 브랜치에 merge 후 hotfix 브랜치 삭제

github-flow

master브랜치와 pr을 이용하는 전략. 지속적 통합(CI), 지속적 배포(CD)가 자연스럽게 이루어짐.

CI란? 개발과 동시에 코드에 대한 통합을 지속적으로 진행함으로써 품질을 유지
CD란? 소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 지속적으로 관리하자는 개념

제품이 릴리즈되는 master 브랜치만 존재.

진행 과정

  1. 기능 개발, 오류 수정 등의 이유로 브랜치 생성. 이름은 의도를 드러낼 수 있게 짓기
  2. 각 브랜치에서 개발.
  3. pull request 보내기
  4. 보낸 pr에 대한 충분한 리뷰과정
  5. 실제 서버 or 테스트 환경에 배포
  6. 이상이 없다면 master 브랜치로 merge 하고 배포(배포 자동화)

[참고]

0개의 댓글