Git을 사용하여 버전 관리를 할 때, 커밋 메시지의 작성 규칙을 의미.
이 규칙에 따라 작성된 메시지는 프로젝트에 기여하는 사람들이 코드 변경 내용을 이해하고 추적하기 쉬워지며, 이를 통해 팀 내의 협업 효율성이 증가한다.
일반적으로 가장 많이 사용되는 git 메시지 컨벤션은 "Conventional Commits"이다.
이 컨벤션은 commit 메시지를 특정 형식으로 작성하도록 요구하며, 다음과 같이 구성된다.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
위의 구조에서
<type>
은 커밋의 종류를 나타내며,
<description>
은 커밋의 간략한 설명이다.
<scope>
는 해당 커밋이 영향을 미친 코드 범위를 나타내는 선택적인 요소이다.
<body>
는 커밋의 자세한 내용을 작성할 수 있는 선택적인 요소이며,
<footer>
는 커밋에 대한 참조 등 추가 정보를 나타내는 선택적인 요소이다.
이러한 git 메시지 컨벤션을 따르면 코드 변경 사항을 추적하기 쉽고, 프로젝트에 기여하는 사람들 간에 이해하기 쉬운 공통된 언어를 사용할 수 있다.
Git 메시지 컨벤션에서 사용되는 대표적인 커밋 타입들은 다음과 같다.
feat
: 새로운 기능을 추가할 때 사용
fix
: 버그를 수정할 때 사용
docs
: 문서를 수정할 때 사용
style
: 코드 포맷팅, 세미콜론 누락 등의 코드 변경이 없이 스타일만 변경했을 때 사용
refactor
: 코드 리팩토링을 했을 때 사용
test
: 테스트 코드를 추가하거나 수정했을 때 사용
chore
: 빌드 업무나 패키지 매니저를 설정할 때 사용
이 외에도 perf
(성능 개선), revert
(이전 커밋을 되돌릴 때), build
(빌드 관련 파일 수정), ci
(CI 관련 설정 수정), init
(초기화) 등 다양한 타입이 있다.
각 커밋 타입은 대개 첫 단어로 표시되며, 이를 통해 다른 사용자들이 커밋의 내용을 빠르게 파악할 수 있다. 예를 들어, feat
커밋 타입은 새로운 기능을 추가한 경우에 사용되므로, 다른 사용자들은 해당 커밋이 어떤 기능을 추가했는지 빠르게 파악할 수 있다.
feat: Add new feature to the dashboard page
This commit adds a new feature to the dashboard page that allows users to filter their data by date range.
The date range filter is implemented using a date picker component from the UI library.
Fixes #123
위의 예제에서 feat은 커밋의 타입(type
)을 나타내며, "Add new feature to the dashboard page"는 커밋의 간단한 설명(description
)이다.
커밋 메시지의 본문(body)에는 해당 변경 사항에 대한 자세한 설명이 포함되어 있다. 또한 커밋 메시지의 마지막 부분인 Fixes #123은 해당 커밋이 이슈 #123을 해결한다는 것을 나타내는 footer
이다.
이러한 커밋 메시지를 사용하면 프로젝트의 이력(history
)을 추적하고 관리하기 쉬워져서, 코드 변경 내역을 더욱 효율적으로 추적할 수 있다.