Commit messages are not titles

Salvatore Sanfilippo

커밋 메시지는 제목이 아니다

정확히 말하면 제목도 제목줄(subject)도 아니다. 누구나 커밋 메시지 첫 줄 끝에는 마침표를 찍지 말라고 할 것이다. 나도 한동안 그 조언을 따랐지만, 오늘부터는 그러지 않기로 했다. 커밋 메시지가 제목이나 제목줄이라고 생각하지 않기 때문이다. 커밋 메시지는 커밋으로 수행한 변경의 의미를 요약한 것이므로, 작은 문장이다. 다음 줄들에 더 자세한 내용을 덧붙여 문장을 확장할 수는 있다. 하지만 대부분의 경우 본문은 없고 첫 줄만 있다. 제목이나 제목줄만 달랑 있는 이메일이나 글을 얼마나 자주 보는가? 거의 없을 것이다. 그래서 내게는 다음과 같다.

이것은 가능한 한 정보 밀도가 높은, 똑똑한 요약문이다.

필요하다면 다음은 긴 버전이다.
1. 나는 이것을 했다.
2. 그 결과 이것이 되었다.
3. 다음과 같은 방법으로 재현할 수 있다.

그러니 앞으로 누군가 마침표를 찍지 말라고 할 때마다 이 글을 링크할 것이다.

하지만 이건 단순히 마침표 하나의 문제가 아니다. 커밋 메시지의 첫 줄을 제목으로 여기면, 메시지를 쓰는 방식 자체가 달라진다. 첫 줄은 더 많은 글을 소개하기 위한 그저 그런 문장이 되고, 정보 밀도에는 아무런 중점을 두지 않게 된다. 코더는 코드를 짜야 하니, 한 줄로 아주 짧게 말할 수 있는 내용이라면 그렇게 하자. 추가 정보는 다음 줄에 남기되, '제목이니까'라는 이유로 첫 줄을 희생하지 말자.

게다가 프로그래밍은 요약을 작성하는 기술이다. 그렇지 않으면 프로그램은 마땅히 그래야 할 것보다 훨씬 복잡해진다. 그러니 이것은 우리에게도 좋은 연습이 될 수 있다.

원문은 Salvatore Sanfilippo님이 에 게재했습니다.

이 글은 gpt-5.6-luna 모델을 사용해 번역했습니다.