Tools/Git, GitHub

[TIL] 커밋 메시지 컨벤션

성중 2022. 1. 5. 23:06

인턴을 하면서 Git 협업에 필요한 커밋 메시지 컨벤션을 정리해보았다

메시지 구조

  • 3가지 파트로 나누고 각 파트는 빈 줄로 구분
type: subject

body (옵션)

footer (옵션)
  • type : 커밋한 목적
    • subject
      • 최대 50 글자, 마침표 X
      • 영문으로 표기하는 경우 동사를 가장 앞에 두고 첫글자 = 대문자
  • body : 긴 설명이 필요한 경우에 작성
    • 어떻게 했는지가 아니라, 무엇을 왜 했는지 작성
    • 최대 75 글자
  • footer : issue tracker ID를 명시하고 싶은 경우에 작성
    • "유형: #이슈 번호" 형식 사용
    • 여러 개의 이슈 번호 적을 땐 쉼표 구분
      • Fixes: 이슈 수정중 (아직 해결되지 않은 경우)
      • Resolves: 이슈를 해결했을 때 사용
      • Ref: 참고할 이슈가 있을 때 사용
      • Related to: 해당 커밋에 관련된 이슈 번호 (아직 해결 X)

Type

  • Feat : 새로운 기능 추가
  • Fix : 버그 수정
  • Design : CSS 등 사용자 UI 디자인 변경
  • !BREAKING CHANGE : 커다란 API 변경
  • !HOTFIX : 급하게 치명적인 버그를 고쳐야 하는 경우
  • Docs : 문서 수정
  • Style : (코드의 수정 없이) 스타일만 변경 ex) 들여쓰기 같은 형식, 세미콜론 ...
  • Comment : 필요한 주석 추가 및 변경
  • Refactor : 코드를 리팩토링
  • Test : Test 관련한 코드의 추가, 수정
  • Chore : (코드의 수정 없이) 설정을 변경 (빌드 업데이트, 패키지 매니저 설정)
  • Rename : 파일 혹은 폴더명 변경 및 이동
  • Remove : 파일을 삭제하는 작업만 수행

예시

Feat: 추가 로그인 함수

로그인 API 개발

Resolves: #123
Ref: #456
Related to: #48, #45

 

AngularJS Git Commit Message Conventions🔽

 

AngularJS Git Commit Message Conventions

AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com