완벽한 다음 행보는 없다.

Git commit message Best practice - 깃 커밋 메세지 컨벤션 본문

Git&GitHub

Git commit message Best practice - 깃 커밋 메세지 컨벤션

We On Fire 2023. 8. 29. 11:47

커밋 메세지 규칙

  1. 제목과 본문을 빈 행으로 구분한다.
  2. 제목은 50글자 이내로 작성한다
  3. 제목의 첫글자는 대문자로.
  4. 제목 끝에 마침표를 넣지 않는다.
  5. 제목은 명령문을 사용하고, 과거형을 사용하지 않는다.
  6. 본문의 각 행은 72자 내.
  7. 본문의 내용은 ‘어떻게 했는지’ 보다 ‘무엇을’, ‘왜’ 에 대해서 설명해야 한다.

커밋 메세지 구조

제목(헤더)은 필수사항. 본문과 바닥글은 선택사항.

<type>: <subject>     //Header(헤더)

<body>                //Body(본문)

<footer>              //Footer(바닥글)
  • type : 커밋의 의도
  • Subject : 제목.
  • body : 설명이 필요한 경우 작성.
  • footer : 어떠한 이슈에 대한 commit 인지 issue number 를 포함합니다. 그리고 close #1 처럼 close 를 통해 해당 이슈를 닫는 방법도 있습니다.

커밋 메세지 타입

타입은 해당 커밋의 성격 나타내는 키워드이다.

  • Feat : 새로운 기능을 추가. 기존의 기능을 요구사항에 맞게 수정
  • Fix : 버그 수정
  • Docs : 문서 수정
  • Style : 코드 수정 없이 코드의 스타일 변경, 세미콜론 누락 등 코드 스타일에 대한 커밋.
  • Refactor : 기능 추가가 아닌 코드의 리펙토링
  • Test : 테스트 코드 추가, 수정.
  • Chore : 빌드 관련 수정, 패키지 매니저 수정 등 그 외 자잘한 수정 (ex: .gitignore)
  • Design : CSS 등 사용자 UI 변경
  • Rename : 파일명, 폴더명 수정이나 파일, 폴더의 이동
  • Remove : 코드(파일) 의 삭제.

예시

Feat: Implement Login API   // 타입: 제목

로그인 API 개발                // 본문

Resolves: #123              // 꼬리말 => 이슈 123을 해결
Ref: #456                   //         이슈 456 를 참고해야함
Related to: #48, #45        //         아직 이슈 48 과 45 가 해결되지 않음

참조

https://velog.io/@jiheon/Git-Commit-message-규칙

https://velog.io/@msung99/Git-Commit-Message-Convension

https://kdjun97.github.io/git-github/commit-convention/

Comments