상세 컨텐츠

본문 제목

Git Flow 브랜치 전략에 대해

성장일지

by 모모87 2024. 6. 7. 06:00

본문

 

Git Flow 브랜치 전략?

 

각 branch 생성에 규칙을 만들어서 협업을 유연하게 하는 방법론이며,
깃에서 제공하는 강력한 브랜칭 기능을 활용한 변경이력 관리 전략이다.

 

Git Branch 전략이 왜 필요해?

 

Git Branch 전략이 무엇인지는 알았는데, Git Branch 전략이 필요한 걸까?

바로 팀원들간의 공통의 Branch 용어를 정하여 Git Branch에 대해 팀원들간의 공통의 이해를 달성하고,

더 나아가서 팀의 Git Branch를 효율적으로 관리할 수 있기 때문에 Git Branch 전략이 필요하다고 생각한다.

 

* Git Flow

- 브랜치 수가 많고 여러 규칙이 있는 만큼, 규모가 큰 프로젝트에서 적합하다.

- 배포 주기가 잦지 않은 프로젝트에서 적합하다.

- 다양한 버전 관리가 필요한 모바일 애플리케이션에서 적합하다.

 

* GitHub Flow

- 규칙이 있는 브랜치가 main 뿐이고 간단한만큼 비교적 규모가 적은 프로젝트에서 적합하다.

- 수시로 배포가 일어나서 잦은 배포 주기를 가지는 프로젝트에서 적합하다.

- git에 익숙하지 않은 사람이 있을 때 경험해보기 좋다.

 

Git-flow 전략 간단하게 살펴보기


Git-flow에는 5가지 종류의 브랜치가 존재한다.

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

  • master : 제품으로 출시될 수 있는 브랜치
  • develop : 다음 출시 버전을 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치
  • release : 이번 출시 버전을 준비하는 브랜치
  • hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치

 

    <과정>

  • master에서 develop을 분기
  • 개발자들은 develop 브랜치에 자유롭게 커밋
  • 기능 구현이 있는 경우 develop에서 feature-* 브랜치를 분기
  • 배포를 준비하기 위해 develop에서 release-* 브랜치를 분기
  • 테스트를 진행하면서 발생하는 버그 수정은 release-* 브랜치에 직접 수정 및 반영
  • 테스트가 완료되면 release 브랜치를 master와 develop에 merge
반응형

관련글 더보기