개요
- Git 커밋 메시지 컨벤션이란?
프로젝트 참여자들이 일관된 형식의 커밋 메시지를 작성하기 위한 규칙을 말하며, 간단히 줄여 Git 커밋 컨벤션이라고도 함
현재 여러 개발자들 사이에서 관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들어 적용하기도 함
- Git 커밋 컨벤션을 지켜야 하는 이유
1) 가독성 및 커뮤니케이션 효율성 제고
2) 변경 이력 추적 및 문제 해결 속도 향상
- Git 커밋 메시지 작성법
1) 기본 포맷
### Git 커밋 메시지 컨벤션 ###
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
// 여기서 <type>은 변경 사항의 유형 중 하나 (feat, fix, docs, style, refactor, test, chore등)
// <description>에는 변경 작업의 제목이나 간단한 요약 작성
// <body>는 선택사항으로서 작업 내용이 복잡하거나 상세한 내용을 남겨야 하는 경우에만 작성
// <footer> 역시 선택사항으로서 코드 작업과 관련된 이슈 번호 또는 참조 링크 등 추가
2) Git 커밋 메시지 작성 예시
feat: 사용자 프로필 페이지 추가
- 사용자 프로필 페이지 및 라우팅 구현
- 프로필 정보를 보여주는 프로필 카드 컴포넌트 구현
-프로필 수정 기능 구현
Closes #123
- Git 커밋 메시지 수정 방법
1) 커밋을 Push 하기 전인 경우
git commit -amend
명령어를 입력하여 가장 최근에 만든 커밋 메시지 수정 가능
(수정 완료한 뒤에는 :wq
로 저장해줘야함)
만약 수정해야 하는 Git 커밋 메시지가 가장 최근 커밋이 아닌 경우에는 git rebase -i HEAD~숫자
를 입력하여 수정할 커밋 메시지 선택 가능
2) 커밋을 Push 한 경우
커밋을 push 한 후에는 커밋 메시지를 수정하는 것을 권장하지 않음
(다른 개발자들이 해당 변경사항을 이미 pull 받았을 수 있기 때문)
But, 그럼에도 불구하고 반드시 수정해야 하는 경우라면 앞서 설명한 방법으로 커밋 메시지를 수정 후 git push --force
를 입력하면 됨
- Git 커밋 메시지 자동화 방안
1) Git 커밋 메시지 템플릿 설정
2) Git 커밋 메시지 자동화 툴
- 정리
협업할 때나 혼자 작업할 때 항상 느꼈지만 Git 커밋 메시지는 중요한 것 같다. 나중에 코드를 찾아볼 때 어떤 부분을 수정했는지 등을 확인할 수 있기 때문이다.
그래서 나도 나름대로 Git 커밋 메시지를 통일시켜서 작성하고 있지만, 가독성이 더 좋게 하기 위해 다른 방식도 사용해봐야겠다.