[1년 후 마실가실] 커밋 규칙
1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다.
그간 커밋 메시지 안녕하셨는지요..?
전 직관적으로 씁니다.
"JWTProvider: JWT 오류 수정"
하지만, 이제는 깃모지와 함께 헤더만 보고도 유추할 수 있도록 진화하였습니다.
사실 마실가실 리팩토링, 혼자하기 때문에 커밋 메시지나 규칙은 크게 신경쓰지 않았습니다. 왜냐면 From me To me 같은 느낌이랄까요...
혼자하기에 규칙을 쓰지 않는 것보다 오히려 여러 규칙을 적용해볼 수 있는 좋은 기회라 생각하며 커밋 규칙을 (제가 적용할 수 있는 부분에 한해서) 간단히 정리해 보고자 합니다.
Commit = hash + message + author + code snapshot
Message
* 제목(타이틀)과 본문은 개행하여 분리
* 제목 행 끝에 마침표(.) 사용 금지
* 무엇을 왜 했는지 설명
* 하나의 커밋에는 하나의 수정사항, 하나의 이슈를 해결한 내용을 연결
Message 구조
Type: Subject
Body
Footer
Type
✨Feat : 기능 추가
🐛Fix : 버그 수정
🎨Style : 코드 포맷팅, 함수명 수정 등
♻️Refactor : 코드 리펙토링
🧹Chore : 그 외 자잘한 수정
💡Comment : 주석 추가 및 수정
✅Test : 테스트 코드 작성 및 수정
📝Docs : 문서 작성 및 수정
🌟깃모지를 통해 Type을 효과적으로 드러낼 수 있습니다.
Body
* -로 문장 나누기
* 무엇을 왜 변경했는지 작성
Footer
* Resolves : 문의나, 요청에 의한 이슈에 해당하는 경우 이슈 번호
* Closes : 일반적인 개발과 관련된 이슈에 해당하는 경우 이슈 번호
* Fixes : 버그 픽스, 핫 픽스 관련 이슈에 해당하는 경우 이슈 번호
* See also : 커밋의 이슈와 연관되어 있는 이슈들이 존재 하는 경우, 또는 관련된 이슈들이 있는 경우 이슈 번호
커밋 메시지 예시
✨Feat : #13 회원 로그아웃 기능 추가
- UserController 상 로그아웃 기능 추가
Closes: #13
🙋♀️
본 포스트는 공부 목적으로 작성하였습니다.
보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글로 알려주시면 수정하도록 하겠습니다.
📑
참고 자료
https://insight.infograb.net/blog/2023/04/21/why-commit-convention-is-important/
https://treasurebear.tistory.com/70