-
Notifications
You must be signed in to change notification settings - Fork 0
Project Convention
Kim Kyungho edited this page Jul 16, 2025
·
1 revision
본 프로젝트 개발 진행 시 작업 진행 플로우, 브랜치 규칙, 커밋 메시지 규칙, 코드 컨벤션 등 전반적인 프로젝트 컨벤션에 대하여 정의한다.
작업은 크게 Issue 생성 → 작업 진행 → PR 생성 → Merge의 단계로 이루어지며, 자세한 내용은 아래와 같다.
- Issue 생성
- Issue에 대한 브랜치 생성
- 아래의 브랜치 규칙에 따라 브랜치를 생성한다.
- 해당 브랜치에서 작업 진행
- 작업 완료 후 Pull Request 생성
- Reviewer: 지정 X
- Assignee: 작업자 지정
- Label: 작업한 내용에 맞게 지정
- Merge
브랜치 전략은 심플한 Git-flow 전략을 사용한다.
-
main: 실제 배포 브랜치 -
develop: 개발 중심 브랜치-
feature/{기능명}: 기능 개발 -
refactor/{모듈명}: 리팩토링 -
fix/{버그명}: 버그 수정 -
chore/{기타 작업}: 설정, 문서 등
-
-
hotfix: 출시 버전에서 발생한 버그를 수정하는 브랜치
ex) feature/login
<type>을 제외한 모든 커밋 내용에는 한글을 허용한다.
<type><break or not>: <subject> <#issue number>
<BLANK LINE>
<body>
<BLANK LINE>
허용하는 타입 <type>
| Tag Name | Description |
|---|---|
| feat | 기능 추가 |
| fix | 기능 변경 |
| bug | 버그 수정 |
| refactor | 리팩토링 |
| docs | 문서 작업 |
| test | 테스트 코드, 리펙토링 테스트 코드 추가, Production Code(실제로 사용하는 코드) 변경 없음 |
| cicd | cicd 관련 |
| chore | 관리, 빌드, 초기 설정 등 |
Break Change 여부: <break or not>
Break Change가 존재하는 커밋의 경우, !를 추가하고 커밋 바디에 변경사항에 대한 설명을 추가한다.
ex)
- feat: 로그인 기능 구현
- feat!: 회원가입 기능 구현
내용: <subject>
현재 시제의 명령조로 작성한다.
- 필수는 아니지만 Break Change가 존재하는 경우에는 필수로 작성한다.
- 명령조에 현재 시제로 작성한다.
- 마지막에 #이슈 번호를 추가한다.
ex) feat: 로그인 기능 구현 #12
변경사항 형식으로 작성한다.
내용은 작성하지 않고 이슈만 연결한다.
ex) 회원 삭제 API 구현