(1) 프로젝트의 히스토리를 관리
(2) 협업에 도움
(3) 프로젝트 유지보수 용이
commit message는 제목, 본문, 꼬리말로 구성합니다.
타입(Type): 제목(Subject)
본문(Body)
꼬리말(Footer)
해당 커밋은 무엇에 대한 작업인지 키워드를 통해 표시합니다.
feat : 새로운 기능 추가
fix : 기능에 대한 버그 수정
build : 빌드 관련 수정
chore : 패키지 매니저 수정, 그 외 기타 수정
ex) .gitignore
ci : CI 관련 설정 수정
docs : 문서(문서 추가, 수정, 삭제)
style : 코드 스타일, 포맷팅에 대한 수정
refactor : 기능의 변화가 아닌 코드 리팩터링
ex) 변수 이름 변경
test : 테스트(테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없는 경우)
release : 버전 릴리즈
커밋 메시지의 제목입니다.
규칙:
커밋 메시지의 본문입니다.
커밋 메시지의 꼬리말입니다.
Github에 이슈가 있어야 작동합니다.
1) 해결 키워드 (Closing Keywords)
커밋 또는 PR이 이슈를 완전히 해결하면 자동으로 닫히도록 설정할 수 있습니다.
(키워드 : colse, resolves, fix 등등..)
예:
git commit -m "Fix typo in footer text, colse #123"
효과: PR이 main 브랜치에 머지될 때 #123번 이슈가 자동으로 닫힙니다.
2) 관련 키워드 (Related Issues)
이슈가 커밋 내용과 관련은 있지만, 아직 해결되지 않은 경우 사용합니다.
(키워드: relate, relates, related)
예:
git commit -m "Add preliminary API tests, relates #456"
효과: #456번 이슈와 관련이 있지만, 이슈가 닫히지는 않습니다.
3) 참고 키워드 (References)
이슈를 해결하거나 직접적으로 관련되지는 않지만, 참고 목적으로 명시할 때 사용합니다.
(키워드: refer, refers, references)
예:
git commit -m "Update README, references #789"
효과: #789번 이슈를 단순히 참고합니다. 닫히지도 않고 관련 여부도 나타내지 않습니다