Branch란? Master, Develop, Feature 브랜치로 깔끔한 워크플로우 만들기
KUKJIN LEE • 3개월 전 작성
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의 기본적인 작업 흐름입니다:
-
기능 개발:
feature
브랜치에서 작업을 시작하고, 완료 후develop
브랜치로 병합합니다. -
릴리즈 준비:
develop
브랜치에서release
브랜치를 생성하여 최종 테스트를 진행합니다. 테스트가 완료되면master
와develop
브랜치로 병합합니다. -
긴급 수정:
master
브랜치에서hotfix
브랜치를 생성하여 버그를 수정하고, 수정된 코드를master
와develop
브랜치로 병합합니다.
브랜치를 효과적으로 사용하는 팁
-
작고 자주 커밋: 기능을 작게 나누어 자주 커밋하면 코드 리뷰와 버그 수정을 쉽게 할 수 있습니다.
-
의미 있는 커밋 메시지: 명확하고 의미 있는 커밋 메시지는 협업과 코드 이해도를 높입니다.
-
정기적인 병합: 정기적으로 브랜치를 병합하여 충돌을 최소화하고 최신 상태를 유지합니다.
오늘의 결론, 브랜치를 효과적으로 활용하면 개발 프로세스를 체계적으로 관리할 수 있습니다.