본문 바로가기
Dev/Git

Git 커밋 메세지 컨벤션

by 재영(ReO) 2022. 10. 31.

Git 커밋 메세지 컨벤션



커밋 메시지 (Commit Message)


커밋 메시지는 아래와 같이 제목/본문/꼬리말의 구조로 작성한다.

  • type: Subject (제목)
  • body (본문)
  • footer (꼬리말)

Type
feat : 새로운 기능
fix : 버그 수정
docs : 문서 변경
style : 서식, 세미콜론 누락 등, 코드 변경 없음
refactor : Refactoring code
test : 테스트 추가, 리팩터링 테스트, Production Code(실제로 사용하는 코드) 변경 없음
chore : 빌드 작업, 패키지 관리자 구성 등 업데이트, Production Code 변경 없음



The Subject

  • 50자 이하, 대문자로 시작하여 작성하고, 마침표로 끝내지 않는다.
  • 명령문으로 작성한다.
  • 이렇게 작성하는 이유는 Git이 사용하는 메시지 형식을 맞춰 일관된 로깅을 위해.
    (Merge나 Update 등을 보면 알 수 있다.)

The Body

  • 72자 이하, 설명이 필요한 경우에만 작성한다. 코드 변경의 이유를 명확히 작성할수록 좋다.
  • 어떻게 보다는 무엇을, 왜 하는지 설명한다.

The Footer

  • 선택사항이며, issue tracker ID를 참조하는 데 사용한다. 남겨주는 게 좋다.

자주 사용되는 Type 예시


Fix : 버그 수정

  • Fix my test
  • Fix typo in style.css
  • Fix my test to return undefined
  • Fix error when using my function


Update : Fix와 달리 원래 정상적으로 동작했지만 보완의 개념

  • Update harry-server.js to use HTTPS

Add

  • Add documentation for the defaultPort option
  • Add example for setting Vary: Accept-Encoding header in zlib.md

Remove(Clean이나 Eliminate) : ‘unnecessary’, ‘useless’, ‘unneeded’, ‘unused’, ‘duplicated’가 붙는 경우가 많음

  • Remove fallback cache
  • Remove unnecessary italics from child_process.md

Refactor : 리팩토링



Simplify : Refactor와 유사하지만 약한 수정, 코드 단순화



Improve : 호환성, 테스트 커버리지, 성능, 검증 기능, 접근성 등의 향상

  • Improve iOS's accessibilityLabel performance by up to 20%

Implement : 코드 추가보다 큰 단위의 구현

  • Implement bundle sync status

Correct : 주로 문법의 오류나 타입의 변경, 이름 변경 등에 사용

  • Correct grammatical error in BUILDING.md

Prevent

  • Prevent hello handler from saying Hi in hi.js

Avoid : Prevent는 못하게 막지만, Avoid는 회피(if 등)

  • Avoid flusing uninitialized traces

Move : 코드나 파일의 이동

  • Move function from header to source file

Rename : 이름 변경

  • Rename node-report to report

출처:
https://string.tistory.com/112
https://gist.github.com/stephenparish/9941e89d80e2bc58a153

'Dev > Git' 카테고리의 다른 글

Git 명령어  (0) 2022.10.31