Skip to content

002. Branch Strategy, Workflow

Jiyoung Lim edited this page Sep 5, 2022 · 1 revision

브랜치 전략은 현재 잘 알려진 브랜치 전략(Git flow, GitHub Flow, GitLab Flow)를 부분적으로 차용하고 있습니다.

1. Branch Strategy

Featured Branches

  • main: 배포용 브랜치. CI/CD가 적용되어 있어 자동 배포되고 있습니다.
  • develop: 개발용 브랜치. CI/CD가 적용되어 있어 자동 배포되고 있습니다.
  • feature: feat/${이슈 번호} 또는 feature/${이슈 번호} prefix가 붙어 있는 브랜치. develop에서 나와 기능 단위 개발을 할 때 사용합니다.

2. Workflow

How to develop?

일반적인 작업

  1. 작업할 단위를 정해 이슈를 생성합니다.
  2. develop 브랜치를 기반으로 새 브랜치를 생성합니다. 이때, 브랜치명 맨 앞에 이슈 번호를 작성합니다.
  3. 생성한 브랜치에서 작업 후 Pull Request를 작성하고, 문제가 없다고 판단한 경우 Squash Merge 로 develop 브랜치에 병합합니다.

빠르게 반영되어야 하거나 규모가 작은 작업

  1. local develop 브랜치에서 기능 작업을 한 뒤 remove develop 브랜치로 푸시합니다.
  2. 이때 작업이 배포에 영향이 가지 않도록 반드시 빌드 확인 후 푸시합니다.

Deploy process

  1. develop 브랜치에서 main 브랜치로 머지하기 위해서 Pull Request 를 생성합니다.
  2. 타이틀 및 내용은 https://github.com/mash-up-kr/muzily-web/pull/149 를 참고해 작성하고, 다른 PR과 구분하기 위해 Labels에 release🚀 태그를 추가합니다.
  3. 머지 방법은 반드시 Create merge commit 로 선택합니다.
  4. 배포가 완료되었다면 해당 배포 버전으로 태그를 추가합니다.