Git Convention
커밋을 일관성있도록 작성하기 위한 커밋 컨벤션을 정리한다. 이 컨벤션은 유다시티 컨벤션을 기반으로 작성되었다.
커밋 메세지 구성
커밋 메세지는 빈줄로 구분된 세 부분으로 구성된다. 제목, 본문(optinal), 바닥글(optional)
sh
type: Subject
## 빈줄
body (optional)
## 빈줄
footer (optional)제목은 커밋의 타입과 제목으로 이루어져 있다.
커밋 종류
커밋의 종류는 아래와 같이 분류할 수 있다.
| 타입명 | 설명 |
|---|---|
| feat | 새로운 기능 |
| fix | 버그 수정 |
| docs | 문서, 주석 수정 |
| style | 코드의 포맷팅, missing semi colons, code style, etc |
| refactor | 프로덕션 코드 리팩토링 |
| test | 테스트 코드 추가 및 테스트 코드 리팩토링, 프로덕션 코드 수정 X |
| chore | 빌드 작업 수정, 패키지 매니저 설정 수정 등...; 프로덕션 코드 수정 X |
제목
제목은 50자 이하여야 하며 대문자로 시작하고 마침표로 끝나지 않아야 합니다.
커밋이 무엇을 했는지보다 동사가 맨 앞으로 나오는 명령형을 사용하여 커밋이 하는 일을 설명합니다. 예를 들어 chaged나 changes대신 change를 사용합니다.
본문
모든 커밋이 본문을 작성해야할 만큼 복잡하지 않으므로 선택적으로 작성합니다. 커밋에 대해 자세한 설명을 작성합니다.
본문에는 커밋의 코드들의 어떻게(how) 동작하는지에 대해서가 아니라 커밋이 무엇(what)인지 왜(why) 수정됐는지 작성합니다.
본문을 작성할 때 제목과 본문 사이에는 빈 줄이 있어야 하며 각 줄의 길이는 72자 이내로 제한해야 합니다.
바닥글
바닥글은 선택사항이며 이슈 트래킹 ID나 레퍼런스들을 참조하는데 사용합니다.
예시
feat: Add new feature with special library and package
This feature add for new crews.
See also: #777(issue or pr), https://echo-youn.github.io/echo-log