git branch 전략github flow 전략git branchgithub flowgit flow

Branch란? Master, Develop, Feature 브랜치로 깔끔한 워크플로우 만들기

KUKJIN LEE
KUKJIN LEE
2024년 8월 2일
225

Branch란?

Branch(브랜치)는 버전 관리 시스템인 Git에서 독립적으로 작업을 진행할 수 있게 해주는 기능입니다. 이를 통해 개발자들은 메인 코드베이스를 건드리지 않고 새로운 기능을 개발하거나 버그를 수정할 수 있습니다.

 

주요 브랜치 유형

1. Master 브랜치

  • 설명: Master 브랜치는 항상 배포 가능한 상태의 코드를 유지하는 브랜치입니다. 안정적인 버전의 코드만 포함되어야 하며, 배포 시 이 브랜치를 사용합니다.

  • 사용 예시: 소프트웨어 출시, 프로덕션 배포

2. Develop 브랜치

  • 설명: Develop 브랜치는 다음 출시 버전을 개발하는 브랜치입니다. 모든 기능 브랜치가 이곳으로 병합되며, 충분히 테스트된 후 Master 브랜치로 병합됩니다.

  • 사용 예시: 지속적인 통합 및 테스트, 새로운 기능 준비

3. Feature 브랜치

  • 설명: Feature 브랜치는 특정 기능이나 개선사항을 개발하기 위해 사용되는 브랜치입니다. 기능 개발이 완료되면 Develop 브랜치로 병합됩니다.

  • 사용 예시: 새로운 기능 개발, 실험적 코드 작성

  • 이름 규칙: feature/기능명 예: feature/user-authentication

4. Release 브랜치

  • 설명: Release 브랜치는 출시 준비가 완료된 코드를 안정화하고 버그를 수정하기 위해 사용됩니다. 최종 테스트와 수정이 끝난 후 Master 브랜치로 병합됩니다.

  • 사용 예시: 출시 준비, 버전 관리

  • 이름 규칙: release/버전명 예: release/1.0.0

5. Hotfix 브랜치

  • 설명: Hotfix 브랜치는 프로덕션 환경에서 발생한 긴급한 버그를 수정하기 위해 사용됩니다. 수정이 완료되면 Master와 Develop 브랜치로 병합됩니다.

  • 사용 예시: 긴급 버그 수정, 보안 패치

  • 이름 규칙: hotfix/버그명 예: hotfix/critical-bug

 

브랜치 전략 예시

Git Flow

Git Flow는 위에서 설명한 브랜치 유형을 효과적으로 사용하는 워크플로우입니다. 다음은 Git Flow의 기본적인 작업 흐름입니다:

  1. 기능 개발: feature 브랜치에서 작업을 시작하고, 완료 후 develop 브랜치로 병합합니다.

  2. 릴리즈 준비: develop 브랜치에서 release 브랜치를 생성하여 최종 테스트를 진행합니다. 테스트가 완료되면 masterdevelop 브랜치로 병합합니다.

  3. 긴급 수정: master 브랜치에서 hotfix 브랜치를 생성하여 버그를 수정하고, 수정된 코드를 masterdevelop 브랜치로 병합합니다.

 

Branch란? Master, Develop, Feature 브랜치로 깔끔한 워크플로우 만들기

 

브랜치를 효과적으로 사용하는 팁

  • 작고 자주 커밋: 기능을 작게 나누어 자주 커밋하면 코드 리뷰와 버그 수정을 쉽게 할 수 있습니다.

  • 의미 있는 커밋 메시지: 명확하고 의미 있는 커밋 메시지는 협업과 코드 이해도를 높입니다.

  • 정기적인 병합: 정기적으로 브랜치를 병합하여 충돌을 최소화하고 최신 상태를 유지합니다.

 

오늘의 결론, 브랜치를 효과적으로 활용하면 개발 프로세스를 체계적으로 관리할 수 있습니다.

#git branch 전략#github flow 전략#git branch#github flow#git flow#github