Git을 사용하여 개발하는 개발 환경에서 Branch 간의 문제 없이 배포까지 안정적으로 할 수 있도록 Branch를 관리하는 전략
Main(= Master)
실제 운영 환경에 나가 있는 코드만 갖고 있는 브랜치
Develop
메인 브랜치를 베이스로 생성한 브랜치. 다음 배포에 나갈 feature 을 머지하는 공간
Feature
개발을 할 때 브랜치를 새로 만들고 해당 브랜치에 커밋을 진행한 뒤 작업이 종료되면 Develop 브랜치에 커밋하게 된다.
Release
정말로 배포를 하는 단계에서 Develop 브랜치를 베이스로 Release 브랜치를 생성.
Release 브랜치 생성후 부터는 Develop 브랜치에 작업을 하지 않고 Release 브랜치에 직접 작업을 진행.
Release 브랜치 배포 이후 QA 및 개발 테스트가 완료된다면 Release 브랜치를 Main 브랜치에 머지
Hotfix
의도치 않은 장애가 발생하였을때 메인 브랜치에서 브랜치를 생성한 이후 당장 수정이 필요한 최소한의 부분만 수정을 하여 메인 브랜치에 머지를 진행
feat
: 새로운 기능 추가fix
: 버그 수정docs
: 문서 수정style
: 코드 formatting, 세미콜론(;) 누락, 코드 변경이 없는 경우refactor
: 코드 리팩터링test
: 테스트 코드, 리팩터링 테스트 코드 추가(프로덕션 코드 변경 X)chore
: 빌드 업무 수정, 패키지 매니저 수정(프로덕션 코드 변경 X)!HOTFIX : 급하게 치명적인 버그를 고쳐야 하는 경우.
금지명령조
로어떻게
보다 무엇을
, 왜
에 맞춰 작성하기ISSUE
성격에 맞게 자유롭게 합니다.ISSUE_TEMPLATE
에 맞춰서 작성합니다. 만약 템플릿과 작성해야할 이슈가 맞지 않는다면 원하는 형태로 변경합니다.# 🚀 Feature
Feature 작업 사항
## TODO
- [ ]
---
## Description
---
## ETC
---
Configuring issue templates for your repository - GitHub Docs
# 🐞 Bug Report
Bug에 대한 설명 및 작업 내용
## Bug TODO
수정해야할 버그 TODO
- [ ]
---
## Bug Description
<!--버그에 대한 설명-->
---
## Bug Resolver
<!-- 버그에 대한 해결 방안-->
---
## ETC.
---
### Pull Request Checklist
# 🐳 Pull Request
## Issue link
-
---
## Description
---
## Key Changes
---
## ETC
---