Search

좋은 커밋 메세지를 작성하는 법

Tags
Git
Date
2023/10/15

개요

Git의 가장 큰 장점 중 하나는 커밋인데요, 커밋은 작업 중 발생한 변화들을 저장하는데 사용됩니다. 하지만 이 수 많은 변화들을 구분해야 할 필요가 있는데요, 커밋 메세지를 추가함으로써 변경점들을 쉽게 구분할 수 있습니다. 오늘은 커밋 메세지, 더 나아가 좋은 커밋 메세지를 어떻게 작성하는 지 알아보도록 하겠습니다.

1. 왜 좋은 커밋 메세지를 써야 하는가

잘 작성된 커밋 메세지는 해당 프로젝트에서 작업하는 다른 개발자들에게 수정된 내용이나 새롭게 추가된 항목에 대하여 소통할 수 있는 최고의 방법입니다.
실제로 개인 프로젝트가 아닌 이상 하나의 프로젝트는 여러 명의 개발자들에 의해 동시 다발적으로 진행됩니다. 모두가 프로젝트의 개발 흐름을 파악하려면 남들이 어떤 코드를 수정했고 해당 내용은 무엇인지 제대로 파악할 필요가 있습니다. 이는 커밋 메세지를 확인함으로써 쉽게 파악 가능합니다.

2. 좋은 커밋 메세지 작성 방법

통상적인 커밋 메세지 구조는 다음과 같습니다.
type(타입) : title(제목) body(본문, 생략 가능) Resolves : #issueNo, ...(해결한 이슈 , 생략 가능) See also : #issueNo, ...(참고 이슈, 생략 가능)
Java
복사
타입은 다음과 같습니다.
feat: 새로운 기능
fix: 버그 해결
docs: 문서 변경
style: formatting, 놓친 세미콜론 등... 코드의 변경은 없음
refactor: 코드 리팩토링
test: 테스트 코드 추가 혹은 테스트 코드 리팩토링. 코드의 변경은 없음
chore: 패키지 매니저 구성, 빌드 작업 업데이트. 코드의 변경은 없음
 그렇다면 어떻게 좋은 커밋 메세지를 작성할까요?
좋은 커밋 메세지를 작성하기 위해서는 다음과 같은 규칙이 있습니다.
1.
제목본문을 한 줄 띄워 분리한다
2.
제목은 가급적 50자로 제한하며, 최대 69자를 넘지 않는다
3.
제목은 명령조로 작성한다
4.
제목 끝에 마침표(.)는 찍지 않는다
5.
본문은 적당한 위치에서 개행을 한다
6.
본문은 어떻게 보다는 무엇 과  를 설명한다 (코드는 보통 따로 설명될 필요가 없다)
좋은 커밋 메세지의 예시는 다음과 같습니다.
refactor : 가독성을 위해 회원가입 API 뷰셋 클래스를 리펙토링 한다 회원정보 수정 내역 조회 API URI를 설계를 /audit/user/{user_no} 형태로 변경한다. 그리고 외부에 제공되지 않기 때문에 기본 퍼미션 클래스를 적용한다.
Java
복사

3. 적절한 제목인지 확인하는 방법

커밋 메세지를 다음의 문구 안에 넣어보세요!
만약 이 커밋이 적용되면 이커밋은 …