-
Notifications
You must be signed in to change notification settings - Fork 1
1. Convention
main: 발표 및 스프린트 진행 후 release용 main브랜치 main 브런치에 Push XX
dev: 개발 진행 시 main 브랜치 역할 dev 브런치에 Push XX
feat/{기능명}: 새로운 기능 개발하는 브랜치
refactor/{기능명}: 개발된 기능을 리팩터링하는 브랜치
hotfix: 출시 버전에서 발생한 버그를 수정하는 브랜치
예시
dev/feat/login
dev/feat/register
1. develop(or stage) → main : create a merge commit 옵션 사용 (merge commit이 남는다)
: main 브런치에는 merge 시점이 필요.
2. feat or fix → develop: squash and merge 옵션 사용 (PR의 커밋 로그를 하나로 묶을 수 있다.)
: 원자적인 커밋 또는 PR 기능과 전혀 상관 없는 커밋 로그(ex. 콘솔 로그 제거)를 하나로 합쳐서 의미 있는 커밋 로그만 남긴다.
PR 제목이 커밋 로그가 된다.
3. develop → feat or fix: rebase and merge 옵션 사용 (merge commit이 남지 않는다.)
: develop 브랜치를 내 브랜치로 pull할 때 사용해 쓸데 없는 merge commit을 남기지 않는다.
참고 문헌
본 프로젝트에서는 <Type>을 제외한 모든 커밋 내용에 한글 허용.
<type>: <subject>
<BLANK LINE>
<body>
<BLANK LINE>
제목에는 변경 사항에 대한 간결한 설명이 포함되어 있습니다.
1. Commit 타입 <type>
feat: 기능(feature)
fix: 버그 수정
docs: 문서 작업(documentation)
style: 포매팅, 세미콜론 누락 등.
refactor: 리팩터링
test: 누락된 테스트
chore: 관리(maintain), 빌드 등
// chore: 하기 싫은 따분한 일, 정기적으로 하는 일이라는 의미를 가지고 있습니다.
2. Commit 내용 <subject>
명령조, 현재 시제 사용
끝에 . 없이 작성
예시
feat: 로그인 기능 구현
필수 X, 명령조, 현재 시제 사용
변화에 대한 동기를 포함하고 이전 행동과 대조
구현하고자 하는 기능 or 진행하고자 하는 작업 명시
예시
협업 환경 구성
로그인 기능
회원 가입 기능 구현
Issue Template 형태 활용 담당자(Assignees) 명시할 것
Labels, Task list(- [ ]) 적극 활용할 것.
기능 관련 Issue라면 Github Project에 연결하여 진행 상황 공유할 것.
[#<PR 번호>] 변경 사항
예시
[#1] 협업 환경 구성
[#11] 로그인 기능 추가
[#12] 회원가입 기능 구현
PR Template 형태 활용 가급적이면 코드 리뷰 봇, 팀원과 함께 코드 리뷰 진행한 뒤 confirm !!
(적극적으로 comment 달아주세요 :)