IT

AngularJS Git Commit Message Convention이란?

0and24 2024. 11. 15. 00:03

코드베이스가 커지면서 팀 프로젝트에서 커밋 메시지의 중요성은 점점 커집니다. 커밋 메시지가 잘 작성되어 있으면 코드 히스토리를 추적하기 쉬워지고, 변경 사항을 쉽게 이해할 수 있습니다. 이번 글에서는 AngularJS Git Commit Message Convention을 사용하여 효율적이고 일관된 커밋 메시지를 작성하는 방법을 알아보겠습니다.

1. 커밋 메시지 구조

AngularJS의 커밋 메시지 컨벤션은 아래와 같은 구조로 작성됩니다:

<type>(<scope>): <subject>

 

  • type: 커밋의 목적을 나타냅니다.
  • scope: 선택 항목으로, 변경 사항의 영향을 받는 모듈이나 파일을 지정합니다.
  • subject: 변경 사항에 대한 간략한 설명으로, 소문자로 시작하고 마침표를 생략합니다.
feat(auth): 로그인 기능 추가

 

2. Type (커밋의 유형)

커밋 메시지의 type은 변경 사항의 종류를 명확히 구분합니다. AngularJS 컨벤션에서 자주 사용하는 타입은 다음과 같습니다:

  • feat: 새로운 기능 추가
feat(payment): 결제 모듈 추가
  • fix: 버그 수정
fix(profile): 프로필 이미지 로드 오류 수정
  • docs: 문서 변경 (코드 수정 없음)
docs(README): 사용법 섹션 업데이트
  • style: 코드의 스타일 변경 (로직에 영향 없는 공백, 세미콜론 등 수정)
style(navbar): 네비게이션 공백 수정

refactor: 리팩토링 (기능 변경 없이 코드 구조 개선)

refactor(cart): 장바구니 계산 로직 개선

test: 테스트 코드 추가 및 수정

test(product): 상품 모듈 테스트 추가

chore: 기타 변경 사항 (빌드 프로세스 수정, 패키지 매니저 설정 등)

chore(deps): 패키지 업데이트

3. Scope (영향 범위)

scope는 변경 사항의 영향을 받는 구체적인 모듈이나 파일을 명시합니다. 선택 사항이지만, scope를 명시하면 커밋의 변경 범위를 쉽게 파악할 수 있어 코드 추적이 용이합니다. 예를 들어:

  • feat(auth): 로그인 기능 추가
  • fix(payment): 결제 오류 수정

4. Subject (간결한 설명)

subject는 변경 사항에 대한 간략한 설명을 나타내며, 다음 규칙을 지켜야 합니다.

  • 소문자로 시작하고 마침표를 생략합니다.
  • 50자 이내로 작성하여 간결하게 요약합니다.
  • 명령형 어조로 작성하여 "무엇을" 했는지 명확히 전달합니다.
feat(profile): 프로필 이미지 업데이트 기능 추가

 

5.예제 모음

  • 새로운 기능 추가: feat(order): 주문 내역 필터 기능 추가
  • 버그 수정: fix(auth): 로그인 시 비밀번호 검증 오류 수정
  • 문서 변경: docs(CONTRIBUTING): 기여 가이드 추가
  • 스타일 수정: style(button): 버튼 색상 조정
  • 리팩토링: refactor(cart): 중복 로직 제거
  • 테스트 추가: test(payment): 결제 모듈 테스트 추가
  • 기타 변경: chore(deps): lodash 버전 업데이트

6. 커밋 메시지 컨벤션의 장점

AngularJS 커밋 메시지 컨벤션을 사용하면 다음과 같은 장점이 있습니다:

  • 일관성: 모든 커밋 메시지가 동일한 규칙을 따르기 때문에 코드 히스토리를 쉽게 이해할 수 있습니다.
  • 변경 사항 추적: 커밋 메시지만 보고도 코드의 변경 목적을 빠르게 파악할 수 있습니다.
  • 자동화: feat, fix 같은 특정 타입을 기준으로 자동 릴리즈 노트 생성이나 버전 관리 자동화가 가능합니다.

이건 만약 인텔리제이를 사용한다면 참고하셔도 좋을 것같아요.
https://plugins.jetbrains.com/plugin/13389-conventional-commit

마치며

AngularJS 커밋 메시지 컨벤션은 코드베이스의 유지보수와 관리에 큰 도움을 줄 수 있습니다. 일관된 커밋 메시지를 작성하는 습관을 길러 프로젝트 협업과 코드 품질을 높이는 데 활용해 보세요.