Conventional Commits의 기본 구조는 다음과 같습니다:
<타입>[적용 범위(선택 사항)]: <설명>
[본문(선택 사항)]
[꼬리말(선택 사항)]
커밋의 목적을 명확히 하기 위한 필수 요소로, 다음과 같은 주요 타입이 있습니다
설명은 30자 미만으로 작성합니다
| 타입 | 설명 | 관련 버전 |
|---|---|---|
| feat | 새로운 기능 추가 | MINOR |
| fix | 버그 수정 | PATCH |
| docs | 문서 관련 수정 혹은 주석 추가 | - |
| style | 코드 의미에 영향을 주지 않는 변경사항 (포맷팅, 세미콜론 누락 등) | - |
| refactor | 버그 수정이나 기능 추가가 아닌 코드 리팩토링 | - |
| test | 테스트 코드 추가 또는 수정 | - |
| chore | 빌드 작업, 패키지 매니저 설정 등 기타 변경사항 | - |
| build | 빌드 시스템 또는 외부 종속성 변경 | - |
| ci | CI 설정 파일 및 스크립트 변경 | - |
| perf | 성능 개선 관련 변경 | - |
| pro | 프로젝트를 진행하시기 위한 사전 설정 | - |
선택 사항으로, 커밋이 영향을 미치는 범위를 지정합니다. 모듈, 파일, 기능 등을 명시할 수 있습니다.
커밋의 내용을 명확하게 요약합니다. 50자 이내로 작성하며, 현재형 동사로 시작하는 것이 권장됩니다.
선택 사항으로, 변경 사항에 대한 자세한 설명을 제공합니다. 제목과 본문 사이에는 빈 줄을 넣고, 본문은 72자 이내로 줄을 바꾸는 것이 좋습니다.
선택 사항으로, 이슈 번호 등의 참조 정보나 주요 변경사항(BREAKING CHANGE)을 명시합니다.
중요한 API 변경과 같은 주요 변경사항은 다음 두 가지 방법으로 표시할 수 있습니다:
- 타입 뒤에
!를 추가:feat!: 중요한 변경사항 - 꼬리말에
BREAKING CHANGE:문구 사용
feat: 사용자 프로필에 사진 업로드 기능 추가
fix(auth): 사용자 로그인 시 토큰 갱신 문제 해결
feat!: 레거시 API 지원 중단
BREAKING CHANGE: 기존 API v1은 더 이상 지원되지 않으며, v2로 마이그레이션해야 합니다.
docs: API 문서 업데이트
fix: 비밀번호 변경 시 발생하는 문제 수정
사용자가 비밀번호를 변경할 때 가끔 발생하던 세션 만료 문제를 해결했습니다.
이제 비밀번호 변경 후에도 세션이 유지됩니다.
Closes #123