Git 커밋 메시지 작성에 대한 일반적인 규칙과 컨벤션에 대한 정리입니다.
잘 작성된 커밋 메시지는 프로젝트의 히스토리를 깔끔하게 관리하고, 다른 팀원들이 변경 사항을 쉽게 이해하도록 돕는 중요한 역할을 합니다.
제목과 본문을 빈 줄로 구분하기
제목은 50자 이내로 작성하기
제목 첫 글자는 대문자로 시작하기
Fix: Add missing feature
(O)fix: add missing feature
(X)제목 끝에 마침표를 찍지 않기
명령형으로 작성하기
Add new API endpoint
(O)Added new API endpoint
(X)본문은 72자 이내로 줄바꿈하기
본문은 "무엇을", "왜" 변경했는지 설명하기
많은 프로젝트에서 커밋 타입을 제목에 포함하는 컨벤션을 사용합니다. 이는 커밋의 목적을 한눈에 파악하게 도와줍니다. 가장 널리 사용되는 Conventional Commits 스펙을 기준으로 자주 쓰이는 타입을 정리해 드립니다.
**<type>(<scope>): <description>**
<type>
: 커밋의 종류를 나타냅니다.<scope>
(선택 사항): 변경 사항이 미치는 범위를 나타냅니다.<description>
: 변경 사항에 대한 간결한 설명입니다.자주 사용되는 <type>
예시:
feat
: 새로운 기능 추가. (e.g., feat: Add user authentication
)fix
: 버그 수정. (e.g., fix: Resolve login button crash
)docs
: 문서 수정. (e.g., docs: Update API documentation
)style
: 코드 스타일 변경 (세미콜론, 들여쓰기 등. 코드 동작에는 영향을 주지 않음). (e.g., style: Format code with Prettier
)refactor
: 코드 리팩토링 (기능 변경 없이 코드 구조 개선). (e.g., refactor: Improve component logic
)test
: 테스트 코드 추가 또는 수정. (e.g., test: Add unit tests for API
)chore
: 빌드 시스템, 라이브러리, 의존성 관리 등 개발 환경 관련 변경. (e.g., chore: Update webpack configuration
)예시:
feat: Add a new user profile page
This commit introduces a new user profile page.
It includes a user's name, profile picture, and a list of their recent activity.
The page is accessible at /users/:username.
feat
와 fix
타입 등을 기준으로 릴리스 노트를 자동으로 생성하거나, 버전을 관리하는 등의 자동화 시스템을 구축할 수 있습니다.팀에서 통일된 컨벤션을 정하고 지키는 것이 매우 중요합니다. 프로젝트를 시작하기 전에 팀원들과 커밋 메시지 규칙에 대해 논의하고 합의하는 것을 추천합니다.