• 항시 유지되는 메인 브랜치

    • main, dev 개인브랜치→ dev → main(최종)
  • merge 되면 사라지는 보조 브랜치

    • 이름/기능명, release, hotfix
    • 보조 브랜치는 새로 변경될 개발 코드를 분리하고 각각 보존하는 역할
    • 기능을 다 완성할 때까지 유지하고, 다 완성되면 develop 브랜치로 merge하고 결과가 좋지 못한 기능의 경우 버리는 방향으로 취한다.
    • 보조 브랜치는 보통 개발자 저장소에만 있는 브랜치이고, origin에는 push하지 않는다.
  • main(master) : 출시, 배포 되는 브랜치→ 배포 가능한 상태만 관리

  • develop : 배포 버전을 대비하여 개발하는 브랜치 → 배포할 것을 개발

  • feature : 각 기능 개발을 위한 브랜치, develop에서 source 따옴

  • release : 다음 버전 배포를 준비하는 브랜치

    • develop 브랜치를 release 브랜치로 옮긴 후 QA, 테스트를 진행하고 main으로 합침
    • 배포를 위한 최종적인 버그 수정 등의 개발을 수행하는 브랜치
    • 배포 가능한 상태가 되면 main 브랜치로 병합, 배포된 main 브랜치에 버전 태그(ex, v1.0)를 추가한다.
    • 배포 완료 후 develop 브랜치에도 merge 작업 수행
  • hotfix : main 브랜치에서 발생한 버그를 수정하는 브랜치

    • 배포한 버전에서 긴급하게 수정할 필요가 있을 때 main 브랜치에서 분리하는 브랜치