Skip to content

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자 이하여야 하며 대문자로 시작하고 마침표로 끝나지 않아야 합니다.

커밋이 무엇을 했는지보다 동사가 맨 앞으로 나오는 명령형을 사용하여 커밋이 하는 일을 설명합니다. 예를 들어 chagedchanges대신 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

Email: echo.youn@kakao.com