Skip to main content

Command Palette

Search for a command to run...

AngularJS Git Commit Message Conventions

Published
2 min readView as Markdown

참고 자료: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit?pli=1&tab=t.0


Git Commit Message Convention이란?

  • 버전 관리 시스템(Git)을 이용하여 코드 공유 시 각 팀원들 간의 커밋 내역을 빠르고 간편하게 관리 될 수 있도록 지켜지는 메시지 규약입니다.

장점

1] 명확성: Commit 목적과 범위가 명확하게 드러납니다.

2] 일관성: 팀 내 표준화를 할 수 있습니다.


Format

  • Header, Body, Footer
<type>(<scope>): <subject>  // Header
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Message Header

1] Type

  • feat: 새로운 기능 추가(feature)

  • fix: 버그 수정

  • docs: 문서 작업

  • style: 세미콜론 누락, 포매팅, 들여쓰기 등…(기능에 영향 없는 변경)

  • refactor: 리팩토링(기능 변화 X)

  • test: 테스트 관련 코드

  • build: 빌드 시스템이나 외부 종속성(라이브러리, 도구) 관련 변경

  • ci: 지속적 통합(CI) 시스템 관련 변경

  • perf: 코드 성능 개선을 목적으로 하는 변경

  • chore: 비즈니스 로직이나 코드 동작과 직접적으로 관련 없는 변경

2] scope

  • Commit Message를 작성할 때 선택사항 입니다.

  • Commit 변경사항의 특정 범위를 지칭합니다.

  • 적합한 범위가 없을 시 기호(*)를 사용할 수 있습니다.

3] subject

  • 변경 사항을 짧게 설명해줍니다.

  • 명령형, 현재형을 사용합니다.

    • add A to B(o), A is added into B(X)

    • add(o), added(x), adds(x)

  • 첫 문자는 소문자를 사용합니다.(대문자 사용 X)

  • 문장 끝에 마침표(.)를 사용하지 않습니다.


Body

  • 명령형, 현재형을 사용합니다.

  • 변화에 대한 동기와 이전 동작과의 대조를 포함합니다.


Footer

Breaking changes

  • 주요 변경 사항을 작성합니다.

    • 공백 또는 두개의 줄 바꿈을 사용합니다.

    • 키워드 “BREAKING CHANGE” 를 사용합니다.

    • 커밋 메시지의 나머지 부분은 변경 사항에 대한 설명, 근거 및 마이그레이션 메모를 작성합니다.

Referencing issues

  • 이슈 해결 시: Footer 영역에의 별도의 줄로 작성합니다.

    • 접두사 “Closes” 를 사용합니다.

        fix(board): ...
      
        (body ....)
      
        Closes #180
        Breaks foo.bar api, foo.baz should be used instead