Git 커밋 메시지 컨벤션은 왜 중요할까?

git 커밋 메시지가 모든 소프트웨어 엔지니어에게 중요하다는 것은 이미 알고 계실 거로 생각합니다. 잘 만든 커밋 메시지는 다른 개발자에게 변경 사항을 전달하는 가장 쉽고 간편한 방법이기 때문입니다. 그래서 기업의 대규모 프로젝트는 당연하고 협력의 비중이 낮은 소규모의 사이드 프로젝트에서도 커밋 컨벤션을 따로 만들어서 규칙을 지키기도 합니다.
이번 포스팅에서는 좋은 커밋 메시지의 중요성과 커밋 메시지 잘 쓰는 법을 알아봅니다. 더불어 인포그랩 프로덕트 팀의 커밋 컨벤션을 소개합니다.
커밋 메시지란 무엇이고 왜 사용하나요?
커밋 명령은 git에서 스테이징한 후 변경 사항을 로컬 리포지터리에 저장하는 데 사용됩니다. 그러나 git에서 변경 사항을 저장하기 전에 수많은 변경 사항을 적용했을 수 있으므로 저장할 변경 사항을 git에 알려야 합니다. 가장 좋은 방법은 커밋 메시지를 추가하여 변경 사항을 식별하는 것이기 때문에 커밋 메시지를 사용합니다.
커밋 메시지를 잘 작성해야 하는 이유는 무엇인가요?
적절한 커밋 메시지 규칙이 중요한 이유는 이렇습니다.
- 커뮤니케이션의 효율성 증대
일관적이고 명확한 커밋 메시지는 다른 개발자가 더 쉽게 이해하도록 돕기 때문에 서로의 작업에 대한 이해도를 높이고 프로젝트 관리와 협업에 중요한 역할을 합니다.
- 문제 해결 속도 향상
시간이 지남에 따라 코드베이스는 매우 복잡해질 수 있습니다. 적절한 커밋 메시지 규칙은 메인테이너가 코드를 이해하는 데 도움이 되며 향후 변경 사항을 더 쉽게 만들 수 있습니다. 또한 좋은 커밋 메시지를 사용하면 코드 문제를 더 쉽게 디버깅할 수 있습니다. 문제가 발견되면 개발자는 커밋 메시지를 사용하여 언제 어디서 문제가 발생했는지 식별할 수 있다는 장점이 있습니다.
- 문서화의 기능
적절한 커밋 메시지 규칙은 코드베이스 변경 내역을 제공하는 문서 역할을 할 수 있습니다. 이 기능은 프로젝트를 처음 접하거나 프로젝트에 신속하게 적응해야 하는 개발자에게 특히 유용할 수 있습니다.
이와 같이 잘 만든 git 커밋 메시지는 해당 프로젝트에서 작업하는 다른 개발자와 미래의 자신에게 변경 사항 콘텍스트를 전달하는 가장 좋은 방법입니다.
어떻게 좋은 커밋 메시지를 작성하나요?
일관되고 명확한 git 커밋 메시지 규칙은 생산적인 개발 환경을 유지하고 팀원 간의 협업을 촉진하는 데 중요합니다. git 커밋 메시지를 적절하게 작성하기 위한 방법을 살펴보겠습니다.
- 앞단에 ‘어떤 내용을 담은 커밋인지’ 커밋 유형을 지정합니다.
다음은 자주 사용되는 커밋 유형입니다. 커밋 유형을 포함하면 한눈에 알아보기 쉽습니다.
-
다른 사람을 배려하기 위해서 자세하게 커밋 메시지를 작성합니다. 이때 commit body를 사용하면 세부적인 내용을 적을 수 있습니다. 이는 동료 개발자가 변경 사항을 더 잘 이해하는 데 도움됩니다.
-
커밋 메시지는 명령하거나 요청하는 어조를 사용합니다.
-
불필요한 구두점을 제거합니다.
-
팀에서 정의한 ‘커밋 컨벤션’을 따릅니다.
커밋 컨벤션이란 무엇일까요?
git 커밋 메시지 컨벤션(Git Commit Message Convention)이란 프로젝트 참여자들이 일관된 형식의 커밋 메시지를 작성하기 위한 규칙을 말합니다. 현재 여러 개발자 사이에서 관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들어 적용하기도 합니다.
인포그랩 프로덕트 팀은 어떤 커밋 컨벤션으로 협업하나요?
우리 Product 팀은 아래와 같은 커밋 컨벤션을 사용하고 있습니다.
커밋 종류별로 이모티콘을 추가하여 한눈에 보기 쉽게 만든 것이 특징입니다.
Commit Convention
그리고 컴포넌트, 페이지와 함수를 구분하기 위해서 컴포넌트는 대문자로 시작하도록 규칙을 정했고, 그 이외 페이지와 함수는 소문자로 표기합니다.
또한 commit body를 사용해서 세부사항을 commit에 추가하여 동료 개발자가 이해를 더 잘할 수 있도록 돕고 있습니다.
예시
- 컴포넌트는 대문자로 시작
- 🎨Design(Login): padding bottom 추가
- 페이지는 소문자로 시작
- ✨Feat(editor): 복사하기 버튼 기능 추가
- store, function 등 소문자로 시작
- ✨Feat(goToSelectedTab): 유틸 함수 추가
이밖에 간결한 커밋 메시지를 위해 ‘function’이라는 단어를 ‘함수’로 줄여 쓰고 있습니다.
맺음말
지금까지 좋은 커밋 메시지의 중요성과 커밋 메시지 잘 쓰는 법을 알아보았습니다.
적절한 git 커밋 메시지 규칙은 건강하고 생산적인 개발 환경을 유지하는 데 중요한 부분입니다. 장기적으로 커밋 메시지를 잘 작성하면 ‘여러분이 얼마나 협력을 잘하는 팀원인지’ 보여줄 수 있습니다. 이는 우리가 커밋 메시지를 잘 써야 할 이유 중 하나입니다.
인포그랩은 GitLab 및 DevOps에 대한 맞춤 기술 지원을 제공합니다. GitLab(Omnibus/Cloud Native Hybrid) 구축 관련한 지원이 필요하시면 문의하기로 연락 주십시오.
참고 자료
https://imamhossainroni.me/git-commit-message-convention-matter
https://yozm.wishket.com/magazine/detail/1974/
https://blog.bolajiayodeji.com/writing-good-commit-messages-a-practical-guide
https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/
사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.
Hailie
Software Engineer
DevOps 도입이 필요하신가요?
인포그랩 전문가가 맞춤 을 도와드립니다.
관련 글

Git 커밋 메시지 자동화 가이드
좋은 커밋 메시지를 강제하고, 자동화하는 방법을 알아봅니다.
2023년 5월 25일

개발 생산성 높이는 10가지 Git 필수 명령어
이 글은 실무에서 자주 사용하고, 협업과 개발 효율을 극대화하는 필수 Git 명령어 10가지를 소개합니다. git rebase, reflog, worktree, bisect, format-patch, am, bundle, archive, commit --amend, clean이 그 내용입니다. 이 명령어는 Git의 버전 관리를 효율화하고, 개발 생산성을 끌어 올리는 데 도움이 됩니다.
2025년 2월 12일

슬랙봇을 활용한 기술 블로그 배포 자동화 이야기
인포그랩에서는 기술 블로그에 콘텐츠를 자동 배포하는 슬랙봇을 개발, 도입했습니다. 이 도구는 콘텐츠 제작, 배포 과정에서 불필요한 단순 반복 업무를 줄였는데요. 그 결과, 기술 블로그 제작에서 배포까지 걸리는 시간을 단축했고요. 테크니컬 라이팅 업무의 효율성과 생산성까지 향상할 수 있었습니다. 이 글에서는 기술 블로그 배포용 슬랙봇의 개발 배경과 과정, 작동 방식, 도입 결과를 다뤘습니다.
2024년 1월 10일