한살차이 프로젝트의 기본 깃 브랜치 전략으로 Git-flow 전략을 선택하였으며, 프로젝트 상황에 맞추어 일부 브랜치를 차용하였습니다. Git-flow 는 소프트웨어 개발에서 코드 관리 및 협업을 위한 전략 중 하나입니다. 이것은 브랜치 관리를 중심으로 하는 Git 의 확장된 워크플로우로, Vincent Driessen 에 의해 제안되었습니다. Git-flow 는 주로 대규모 프로젝트나 여러 개발자들이 협업하는 프로젝트에서 사용됩니다.

Git-flow 전략은 다음과 같은 주요 브랜치를 사용합니다.

  1. main : 제품의 출시 가능한 상태를 반영하는 메인 브랜치입니다. 이 브랜치에는 항상 안정적인 코드만이 있어야 합니다.
  2. develop : 개발이 진행되는 기본 브랜치로, 개발자들이 새로운 기능을 추가하거나 버그를 수정하는 작업을 진행합니다. 일반적으로 모든 새로운 기능은 이 브랜치에서 개발됩니다.
  3. feature : 새로운 기능을 개발할 때 사용되는 브랜치입니다. 각 기능은 별도의 브랜치에서 개발되며, 완료되면 develop 브랜치로 병합됩니다.
  4. release : 새로운 출시를 준비할 때 사용되는 브랜치입니다. 이 브랜치에서는 마지막 버그 수정이나 출시 준비 작업을 수행합니다. 준비가 완료되면 main 브랜치와 develop 브랜치로 병합됩니다. 프로젝트 기간을 고려하여 release 브랜치는 main 브랜치와 용도를 병합하였습니다.
  5. hotfix : main 브랜치에서 발견된 긴급한 버그를 수정하기 위한 브랜치입니다. 버그 수정 후 main 브랜치와 develop 브랜치로 병합됩니다.

Git-flow 브랜치 전략을 선택함으로써, 여러 개발자가 함께 작업하는 경우 충돌을 최소화하고 효율적으로 협업할 수 있습니다.