################
# <타입> : <제목> 의 형식으로 제목을 아래 공백줄에 작성
# 제목은 50자 이내 / 변경사항이 "무엇"인지 명확히 작성 / 끝에 마침표 금지
# 예) feat : 로그인 기능 추가
# 바로 아래 공백은 지우지 마세요 (제목과 본문의 분리를 위함)
################
# 본문(구체적인 내용)을 아랫줄에 작성
# 여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내)
################
# 꼬릿말(footer)을 아랫줄에 작성 (현재 커밋과 관련된 이슈 번호 추가 등)
# 예) Close #7
################
# feat : 새로운 기능 추가
# fix : 버그 수정
# docs : 문서 수정
# test : 테스트 코드 추가
# refact : 코드 리팩토링
# style : 코드 의미에 영향을 주지 않는 변경사항
# chore : 빌드 부분 혹은 패키지 매니저 수정사항
################
git commit 메시지는 크게 제목, 본문, 꼬리말 세가지 파트로 나누고, 각 파트는 빈줄을 두어서 구분 합니다.
<type>[적용범위(선택 사항)]: <subject>
[본문(선택 사항)]
[꼬리말(선택 사항)]
1. 제목
- : 뒤에만 space가 있음
1) commit type
2) subject
- 제목은 50자를 넘기지 않고, 첫 글자는 대문자로 작성하고, 마침표를 붙이지 ㅇ낳음
- 과거 시제를 사용하지 않고 명령어로 작성
예) Fixed -> Fix, Added -> Add
2. 본문
- 선택 사항이기 때문에 모든 커밋에 본문 내용을 작성할 필요는 없음
- 부연 설명이 필요하거나 커밋의 이유를 설명할 경우 작성, 어떻게 했는지가 아니라, 무엇을 왜 했는지를 작성.
- 한줄에 약 72자를 넘기지 않고 줄바꿈
3. 꼬리말
- 선택 사항이기 때문에 모든 커밋에 꼬리말을 작성할 필요 없음
- 이슈 트렉커 ID를 명시하고 싶은 경우에 작성
4 예제
feat: 여기에 최대 50자까지 변경 사항에 대해 설명하세요
필요하다면 여기에 좀 더 상세하게 설명하세요. 한 줄당 대략 72자까지 맞출 수 있도록 합니다. 일부 상황에서 첫 줄은 커밋의 제목이 되고, 그 후에 작성되는 텍스트는 본문으로 취급됩니다. 제목과 본문을 나누는 중간에 삽입되는 공백 행은 매우 중요합니다 (본문을 완전히 생략하지 않는 이상); `log` 와 `shortlog`, `rebase` 와 같이 다양한 도구들은 공백에 의존하므로 두 부분을 합쳐버릴 경우 도구가 혼동할 수 있습니다.
이 커밋이 해결하고자하는 문제를 설명합니다. 어떻게 했는지보단(코드가 설명할 것이기 때문), 왜 변경 사항을 적용했는지에 대해 집중합니다. 이 변경 사항으로 인해 생기는 부수 효과가 있거나 다른 직관적이지 않은 영향이 있을 수 있다면 여기에 설명하세요.
앞으로 추가되는 문단은 공백 행 뒤에 옵니다.
- 필요하다면 강조점을 써도 됩니다
- 하이픈(-) 또는 별(*)이 주로 강조점으로 사용되고 이후 단일 공백(space)을 삽입합니다 강조점 사이에는 공백 행을 넣지만 규칙은 언제든지 바꿀 수 있습니다