영어 Git 커밋 메시지는 관습적으로 명령형으로 작성한다. 예를 들어 “Fix bug”라고 하지 “I fixed bug”라던가 “Fixes bug”라고 하지 않는다. 왜 그럴까?

StackOverflow에 올라온 “왜 Git은 명령형으로 쓰나?”하는 질문에 달린 답을 보면 대부분 특정한 관점에서 보았을 때 명령형이 얼마나 자연스러운지를 설명한다. 커밋은 코드베이스의 변경사항이고, 따라서 변경사항의 “이름”은 변경사항이 적용되었을 때 “무엇을 할지”가 되어야 한다던가 라는 식이다.

내 생각에 커밋 로그가 명령형이 된 건 짧아서다. “Fix bug”는 “I fixed bug”나 “Fixes bug”보다 짧다. Git 레퍼런스는 커밋 메시지가 50자를 넘기지 않을 것을 권장하고 있다. 시제, 수를 맞추기 위한 동사 끝의 “ed”나 “s”, 별다른 의미도 전달하지 않는 주어나 마침표는 들어갈 자리가 없다. Git을 처음 만든 리누스가 커밋 형식을 모든 기여자에게 강요한다는 점, 리누스가 활동한 시스템 프로그래밍 분야에서 만들어내는 수많은 기이하게 짧은 이름들 (예를 들어 create에서 e를 뺀 creat) 을 생각해보면 “짧아서”는 더더욱 그럴듯하다.

Git을 한국어로 사용하더라도 커밋 메시지를 짧게 유지하는 건 유익할 것이다. 내 생각에 “-함” 종결이 가장 좋은 것 같다. 예를 들어 버그를 고쳤다면 “버그를 고침”이 적절하다. 다만 “변경하다”처럼 명사 뒤에 접사 “-하다”가 붙어 동사나 형용사를 만든 경우에는 “-하다”에 아무런 의미도 없기 때문에 “정책을 변경함” 대신 “정책을 변경”을 사용하자.