Dev

커밋 메시지 작성가이드

커밋 메시지 작성가이드
Photo by Roman Synkevych / Unsplash

On this page

Git 커밋 메시지 작성 가이드: 좋은 습관과 다양한 예제

커밋 메시지는 Git에서 소스 코드의 변경 사항을 기록하고 설명하는 중요한 부분입니다. 잘 작성된 커밋 메시지는 협업자나 미래의 자신이 해당 커밋의 목적과 내용을 쉽게 이해할 수 있게 도와줍니다. 이 포스팅에서는 커밋 메시지를 작성할 때 따를 수 있는 몇 가지 관습과 다양한 사용 예제를 소개하겠습니다.

커밋 메시지 작성의 중요성

커밋 메시지는 코드 변경 이력을 남기는 중요한 기록입니다. 좋은 커밋 메시지는 다음과 같은 이점을 제공합니다:

  • 변경 사항을 명확하게 설명: 왜 특정 변경이 이루어졌는지, 어떤 문제가 해결되었는지 명확하게 이해할 수 있습니다.
  • 협업 효율성 증대: 팀원들이 변경 사항을 쉽게 이해하고, 필요한 경우 이전 상태로 되돌아가거나 문제를 추적하는 데 도움이 됩니다.
  • 자동화 도구와의 통합: 잘 작성된 커밋 메시지는 자동화된 빌드, 테스트, 배포 파이프라인과 통합될 수 있습니다.

커밋 메시지 작성 관습

1. 커밋 메시지는 명령문으로 작성

커밋 메시지의 제목은 명령문으로 작성하며, 50자 이내로 간결하게 요약합니다. 필요하다면 제목 아래에 본문을 추가하여 변경의 이유와 상세 내용을 설명할 수 있습니다.

예시:

Add user authentication module

This commit introduces a new user authentication module using JWT.
It supports login, registration, and token-based authentication.

2. 커밋은 논리적으로 단위 작업을 묶어 작성

하나의 커밋에는 하나의 기능 추가, 버그 수정, 또는 논리적으로 관련된 변경 사항만 포함하도록 합니다. 너무 많은 변경 사항을 하나의 커밋에 담기보다, 기능별 또는 수정별로 커밋을 나누는 것이 좋습니다.

3. 의미 있는 커밋 메시지 작성

커밋 메시지는 변경 사항이 무엇인지, 왜 이 변경이 필요한지를 구체적으로 설명해야 합니다. 단순히 "Update"와 같은 메시지는 피하고, "Update README to include installation instructions"와 같이 구체적으로 작성합니다.

4. 키워드를 사용하여 자동화된 도구와 통합

커밋 메시지에 이슈 번호를 포함하거나, fixes, closes, resolves 등의 키워드를 사용해 이슈 트래커와 통합할 수 있습니다.

예시:

Fix user login bug related to token expiration

This commit fixes the issue where users were unable to login due to
token expiration not being handled correctly. This closes #42.

5. 커밋 메시지 스타일 가이드 준수

팀이나 프로젝트에서 사용하는 커밋 메시지 스타일 가이드(예: AngularJS 커밋 메시지 스타일 가이드)를 따릅니다. 이렇게 하면 커밋 히스토리가 일관되게 유지되며, 자동화 도구와의 통합이 원활해집니다.

다양한 커밋 메시지 예제

기능 추가 (Feature Addition)

feat: add user profile page

Added a new user profile page that allows users to view and edit their
personal information. This feature includes input validation and API
integration for updating user details.

버그 수정 (Bug Fix)

fix: resolve crash on login screen when username is empty

Fixed a critical issue where the app crashes if the username field is
left empty on the login screen. The input validation now properly checks
for empty strings and shows an appropriate error message.

성능 개선 (Performance Improvement)

perf: optimize database queries for user data retrieval

Refactored the SQL queries in the User model to reduce the number of
database calls and improve overall performance by 25%.

코드 리팩토링 (Code Refactoring)

refactor: simplify user authentication logic

Refactored the authentication module to reduce code duplication and
improve readability. The authentication checks are now consolidated
into a single function.

문서화 (Documentation)

docs: update README with new setup instructions

Updated the README file to include the latest setup instructions for
new developers, including environment variable configuration and
database setup.

테스트 추가 (Adding Tests)

test: add unit tests for user registration

Added unit tests for the user registration module to ensure all edge
cases are covered. The tests include validation for email format,
password strength, and duplicate usernames.

스타일 변경 (Style Changes)

style: format code according to ESLint rules

Applied consistent code formatting across the project according to
the ESLint rules. This includes fixing indentation, spacing, and
line breaks.

의존성 업데이트 (Dependency Updates)

chore: update dependencies to latest versions

Updated all project dependencies to their latest stable versions.
This includes upgrading React to version 17.0.2 and Webpack to 5.36.2.

파일 이동 또는 이름 변경 (File Moves/Renames)

rename: move and rename userController.js to controllers/user.js

Moved the user controller file to the controllers directory and renamed
it to follow the project's naming convention.

초기 커밋 (Initial Commit)

sql코드 복사
chore: initial commit

Set up the initial project structure, including configuration files for
ESLint, Prettier, and Git. Initialized the Git repository and added a
basic README file.

커밋 메시지의 좋은 습관

  • 짧고 명확하게: 제목은 50자 이내로 작성하고, 본문은 72자에서 줄바꿈을 합니다.
  • 의미 있게: 왜 이 변경이 필요한지, 무엇이 변경되었는지를 설명합니다.
  • 통일성 유지: 팀이나 프로젝트에서 사용하는 메시지 스타일을 준수합니다.

결론

잘 작성된 커밋 메시지는 프로젝트의 협업과 유지보수를 용이하게 하고, 변경 사항을 명확히 추적하는 데 큰 도움이 됩니다. 다양한 예제를 통해 커밋 메시지를 더 명확하고 의미 있게 작성할 수 있으며, 이는 코드베이스의 관리와 협업을 더 원활하게 만드는 중요한 요소입니다.

이 가이드를 참고하여 커밋 메시지를 작성할 때 더욱 신경 써서 의미 있는 기록을 남기시길 바랍니다!

Subscribe to Keun's Story newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!