2023-05-09 10:40:24

Git 커밋 메시지를 남길 때 일정한 규칙을 따라 남기는 것이 좋습니다. 무슨 이유로 커밋을 하는지 한눈에 알아볼 수 있기 때문입니다. 이와 관련해서 여러 컨벤션들이 있지만, 저는 오늘 python pandas 라이브러리팀이 사용하는 커밋 컨벤션에 대해 소개해드리고자 합니다. 파이썬 프로젝트에 조금 더 특화되어 있긴 하지만 다른 언어로 개발할 때 사용해도 큰 무리가 없을 것 같습니다. (참고로 저는 이 컨벤션을 직장 동료 분께서 사용하고 계셔서 알게 되었습니다.)

이 컨벤션의 특징은 우선 커밋의 이유를 8가지 카테고리로 분류하고 그 카테고리를 3글자 또는 4글자로 줄여서 커밋 메시지의 처음에 넣어준다는 점입니다.

ENH: Enhancement, new functionality
BUG: Bug fix
DOC: Additions/updates to documentation
TST: Additions/updates to tests
BLD: Updates to the build process/scripts
PERF: Performance improvement
TYP: Type annotations
CLN: Code cleanup


만약 로그인 기능을 추가했다면,

ENH: 로그인 기능 추가

와 같이 커밋메시지를 작성합니다. 만약 타입 어노테이션 관련해서 수정이 있었다면,

TYP: User 클래스 타입 어노테이션

과 같이 커밋메시지를 작성합니다.

실제 pandas github에 들어가보면 해당 커밋 컨벤션으로 커밋 메시지를 남기는 것을 확인하실 수 있습니다.


이 컨벤션을 따르지 않고 커밋을 한 사람들도 있지만, 여러 사람이 같은 컨벤션으로 커밋 메시지를 남기려고 한 점이 눈에 띄네요^^