협업을 잘 하는 개발자가 되려면 커밋 메시지 작성에 관심을 기울여야 한다. 잘 작성된 커밋 메시지는 코드 변경에 대한 컨텍스트를 담고 있어 다른 개발자(혹은 미래의 나)가 코드 변경에 대한 내용을 쉽게 이해할 수 있도록 도와준다. 따라서 좋은 협업자라면 커밋 메시지를 잘 써야 한다.
좋은 커밋 메시지를 작성하기 위해서 알고 있으면 좋은 규칙은 다음과 같다.
- 제목과 본문 사이에 빈 줄 하나를 사용하라
- 제목은 50자로 제한하라
- 제목은 대문자로 시작하라
- 제목은 마침표로 끝내지마라
- 제목은 명령형으로 써라
- 본문의 한줄은 72자 이내로 제한하라
- 본문에서는 어떻게(How)보다 무엇(What)과 왜(Why)를 설명하라.
규칙 1. 제목과 본문 사이에 빈 줄 하나를 사용하라
원래 깃의 커밋 메시지에서는 제목과 본문을 구분하지 않는다. 그냥 텍스트만 존재할 뿐이다. 실제 오픈소스 저장소의 커밋 메시지를 보면 간단한 변경의 경우 한줄짜리 커밋 메시지도 존재한다.
그렇지만 코드 변경에 대해 긴 설명이 필요한 경우라면 제목과 본문을 구분하는게 좋다. 제목과 본문을 구분하기 위해 커밋 메시지의 첫 번째 라인을 제목으로 사용하고 빈 줄 하나를 추가해 뒤이어 작성할 본문과 구분한다. git의 다양한 명령어들이 첫번째 라인만 보여주는 경우가 있기 때문이다.
규칙 2. 제목은 50자로 제한하라
커밋 메시지의 제목을 50자로 제한하면 장황하게 작성된 메시지에 비해 가독성이 향상된다. 또 한 커밋 메시지 작성시 한번 더 생각하게 되어 좋은 메시지를 작성할 가능성이 높아진다.
깃헙(github) 같은 웹 페이지에서는 72자 이상의 메시지를 잘라버리기 때문에 50자 제한을 두고 72자의 하드리밋을 두어 메시지 작성을 하면 된다.
규칙 3. 제목은 대문자로 시작하라
가독성이 좋아진다.
규칙 4. 제목은 마침표로 끝내지마라
제목은 50자 제한을 받기 때문에 최대한 아껴써야한다. 제목 라인에서 마침표는 가독성을 떨어뜨리기만 하며 불필요하다.
규칙 5. 제목은 명령형으로 써라
명령형으로 메시지를 작성하면 약간 무례해보일 수 있다. 하지만 좀 더 명확하고 간결하게 작성할 수 있다. 어떤 것이 명령형인지 헷갈린다면, 영어의 경우 "if applied, this commit will {커밋 제목}" 형태를 생각해보면 된다.
규칙 6. 본문의 한줄은 72자 이내로 제한하라
깃은 깃 메시지를 들여쓰기 처리해서 보여주는데 80자 제한과 함께 생각하면 한줄에 72자 정도가 적당하다. 이렇게 한줄을 래핑하면 메시지의 가독성이 좋아진다.
규칙 7. 본문에서는 어떻게(How)보다 무엇(What)과 왜(Why)를 설명하라.
커밋 메시지에서는 코드에 대한 변경이 왜 필요한지와 변경 이후에 어떻게 동작하는지만 기술하면된다. 코드를 어떻게 바꿨는지에 대한 내용은 코드 변경(diff) 자체를 보면 된다.
댓글