본문 바로가기
STORAGE/Git

GIT 브랜치 전략

by _wavy 2023. 5. 27.

(1) 정의

git을 이용한 협업시 branch 관리에 규칙을 적용하여 버전 관리와 협업 효율을 높이려는 전략

 

(2) 사용 이유

협업시 여러 branch에서 작업 후 main에 병합(머지)하는 게 일반적인데 개발 규모가 커지고 브랜치가 많아질수록 작업할 브랜치를 파악하는 게 쉽지 않다. 이를 위한 컨벤션이 필요하여 전략을 수립하는 것

 

(3) 종류

대표적인 전략 2가지만 정리해본다.

1) git-flow 전략

  • 브랜치 명이 규격화되어 있음. 때문에 비교적 큰 규모의 프로젝트에서 사용
  • 브랜치 종류:
    • master(main): 배포 가능한 코드를 관리하는 브랜치
    • develop: 실제 개발을 위한 브랜치. master에서 분기되어 새로운 기능개발, 버그 수정 후 master에 머지하게 됨
    • feature: 새로운 기능 개발을 위한 브랜치. develop에서 분기되어 이후 다시develop에 머지하게 됨
    • release: 배포를 위한 브랜치. develop에서 분기되어 버그 수정, 문서 작업, 버전 번호 업데이트 등을 수행 후 master/develop에 머지하게 됨
    • hotfix: 배포 이후 발생한 긴급 버그 수정을 위한 브랜치. master에서 분기되어 이후 master/develop에 머지하게 됨

2) github-flow 전략

  • 단순하고 직관적인 방법으로 비교적 작은 규모의 프로젝트에서 사용
  • 단계:
    1. main: 배포 가능한 코드를 관리하는 브랜치
    2. 이슈/브랜치 생성: 기능 개발, 버그 수정 등의 작업을 시작하려면 깃헙에 이슈를 만들고 개인 브랜치를 생성함, 이 때 브랜치명은 각 팀의 컨벤션에 따를 수 있음
    3. 커밋/푸시: 작업 중인 브랜치에서 커밋 후 원격 저장소로 푸시
    4. PR/머지: 깃헙에서 PR(Pull Request)을 보내 협업자들의 피드백을 요청함. 보통 일정 수의 동의를 얻은 후 main에 머지할 수 있음
      • 코드 리뷰: 위 PR 단계에서 협업자들은 PR을 검토하여 충돌을 예방하고 코드 수정을 요청할 수 있음
    5. 배포/버그 수정: 개발 완료 후엔 main에서 직접 배포, 버그 수정 작업을 진행함

 

이 외에도 Feature Branch, Forking, GitLab 전략 등이 있다. 각 프로젝트와 팀의 특성에 맞는 전략을 선택하여 브랜치 관리를 명확하고 일관적으로 유지하는 게 중요하겠다.

'STORAGE > Git' 카테고리의 다른 글

GIT Conflict  (0) 2024.03.31
repository 특정 브랜치/하위 폴더만 clone 하기  (0) 2023.04.25
Git 명령어 한장 정리  (0) 2022.09.10

댓글