Git 브랜치 전략

TIL / / 2021. 9. 28. 15:49

실무와 최대한 유사한 환경에서 개발을 해보는 것이 도움이 많이 될 것이기 때문에 git 전략에 대해 알아보게 되었다.(팀 프로젝트시 활용해봐야 겠다)

Git을 활용하는 것만 잘하면 되는 줄 알았지만, 실제 현업에서는 정해진 전략에 의해 Git을 사용한다고 한다.

만약 Git 전략이 특별히 없다면 어떤 브랜치가 무슨 기능을 하는지 헷갈리고 브랜치들이 규칙없이 난잡해지기 때문에 불필요하게 복잡해지게 된다.

알아보니 실무에서 활용되는 깃 전략은 크게 2가지가 있다.

 

 

Git-Flow 전략

 

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

2개의 메인 브랜치, 3개의 보조 브랜치로 이루어진다. 여기서 보조 브랜치는 역할을 다하게 되면 삭제하는 게 원칙!

 

메인브랜치

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

보조 브랜치

  • feature : 기능 개발 브랜치 , 완료하면 develop에 mege한다.  ( ex feature/comment_fe )
  • release : 이번 출시 버전 준비 브랜치 , develop 브랜치를 release 브랜치로 옮긴 후, QA, 테스트 진행하고 master에 merge한다.
  • hotfix : 배포된 서비스에서 발견된 버그 수정 브랜치 ( 버그 수정이 완료되면 master와 develop에 merge)

진행 과정

  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 가 자연스럽게 이루어진다.

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

 

진행 과정

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

'TIL' 카테고리의 다른 글

Servlet , JSP, MVC Pattern , Spring  (0) 2021.10.03
운영체제 CS  (0) 2021.10.01
[TIL] JWT TOKEN, Cookie & Session  (0) 2021.09.26
[TIL] 자바 개념정리  (0) 2021.09.25
[TIL] DP  (0) 2021.09.15
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기