우리 팀의 커밋 메시지 룰을 정의하고자 합니다.
커밋 메시지 룰을 정하는 이유는 다음과 같습니다.
팀 동료, 타인, 그리고 기타 이해당사자에게 변화의 본질을 전달할 수 있습니다.
구조화된 커밋 히스토리는 사람들이 프로젝트에 기여하기 더 쉽도록 합니다.
빌드와 배포 프로세스를 수행하는데 도움이 됩니다.
<타입>(적용 범위): <설명>
Feat
: 새로운 기능을 생성하는 경우Fix
: 버그 수정을 한 경우, 올바르지 않은 동작을 고친 경우Update
: Fix
와 달리 원래도 정상적으로 동작하고 있었지만, 수정 및 보완을 한 경우Build
: 빌드 관련 파일 수정이 있는 경우, npm 또는 yarn 레벨의 변경이 있는 경우Simplify
: 복잡한 코드를 단순화 한 경우Chore
: 자잘한 패키지 수정이 있는 경우, 코드 수정 말고 단순 설정 변경의 경우Docs
: 문서 수정이 있는 경우, README.md 파일 수정의 경우Style
: 코드 의미에 영향을 주지 않는 변경이 있는 경우Refactor
: 버그를 수정하거나 기능을 추가하지 않는 코드 변경의 경우, 리팩토링의 경우(적용 범위)
는 작업한 기능이나, 말 그대로 적용되는 곳을 명시해 주세요.<설명>
은 <타입>[적용 범위]
뒤에 :(콜론)
을 작성 뒤에 1
칸을 띄우고 작성해 주세요.<설명>
은 영어로 작성해 주세요.<설명>
은 명령문으로 작성해 주세요.<설명>
은 동명사보단 명사를 사용해 주세요.<설명>
은 부정문은 No
가 아닌 Don't
를 사용해 주세요.<설명>
은 50자 내외로 작성해 주세요.<설명>
은 첫글자는 대문자, 나머지는 소문자로 작성해 주세요.<설명>
은 마지막에 .(마침표)
를 붙이지 말아 주세요.BREAKING CHANGE(단절적 변경)
이 있는 경우에는 <타입>
뒤에 !(느낌표)
를 붙여줍니다. 그리고 <설명>
을 다른 커밋보다 특히 더 자세히 작성해 주거나, 팀원들에게 BREAKING CHANGE
를 따로 공유해 주세요. 여기서 BREAKING CHANGE(단절적 변경)
이란, 이 변경 때문에 다른 것에 영향을 끼칠 수 있는 변경을 말해요.Feature(board): Add user invitation feature
Build: Install uuid
Fix(cardComment): Correct minor typos in code
Update!(login): Edit parameters at login (BC: The variable 'userinfo' is deprecated)
커밋 메시지를 작성하시면서 궁금한 점은 언제든 물어봐 주세요.
아래 두 링크를 참고하시면 도움이 될 거예요.