Skip to content

Branch 전략

조민호 edited this page Jan 4, 2024 · 9 revisions

브랜치 종류

main

출시 가능한 프로덕션 코드를 모아두는 브랜치

  • 기능 개발 브랜치는 main에서 생성한다



develop

기능 단위 QA를 진행하는 브랜치

  • 기능 구현이 완료되면 develop에 PR을 작성해서 squash and merge를 진행 한다

  • QA가 완료되면 main에 머지한다

  • QA진행 중 발생하는 이슈 관련 브랜치는 develop에서 생성한다.

  • 이슈 구현이 완료되면 develop에 다시 머지한다




QA 이슈 브랜치

QA브랜치인 develop에서 발생한 이슈를 해결하는 브랜치이다

브랜치 명은 QA로 시작하며 반드시 발생한 이슈에 대한 기능명을 함께 명시한다.


ex)

- 기능 개발 브랜치
feat/fetch_userInfo

- QA이슈 브랜치
QA/fetch_userInfo_01_내정보_API_호출에러

- 해당 브랜치 커밋 메세지
QA: fetch_userInfo_01 api로직 변경
QA: fetch_userInfo_01 NextAuth설정 수정
QA: fetch_userInfo_01 ...



기능 개발 브랜치

세부 기능을 구현하는 브랜치

각 기능을 개발할때는 노션 페이지에 기능구현 내용과 및 브랜치명을 기록해둔다


기능 개발 브랜치명은 다음과 같다

  • 브랜치의 의미를 알 수 있도록 어느 기능에 대한 것인지 브랜치 명에 기재한다

  • 추상적인 부분을 덜어내기 위해 브랜치가 어느 기능을 의미하는지 prefix와 함께 기능 명을 작성한다


prefix 종류들

타입 설명
feat 새 기능 구현
fix 버그 수정
docs 문서/주석 관련 작업
refactor 리팩토링
test 테스트 관련 작업
style 디자인 관련 작업
chore 기타 작업


ex)

chore/ESLint,prettier_setting

feat/main_page_login_button

style/my_page_profile_image

docs/README.md_techstack


Clone this wiki locally