본문 바로가기
💾 Backend/우아한 테크코스-프리코스

🛸 커밋 메세지 컨벤션

by 정람지 2023. 11. 1.
 

AngularJS Git Commit Message Conventions

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

gist.github.com

 

 

[Git] Commit Message Convension (협업을 위한 git 커밋컨벤션)

이번 포스팅에서는 Git 의 커밋 메시지 컨벤션에 대해 알아보겠습니다. 각 회사마다 각자의 git flow 전략을 가지고 브랜치를 관리하듯이, 그에 따라가며 자연스래 commit 에 관한 규칙도 정말 중요

velog.io


🦑 커밋 메세지 구조 🦑 

제목 + 본문 + 꼬리말

 

type(옵션): [#issueNumber-]Subject    // 제목

body(옵션)                           // 본문

footer(옵션)                         // 꼬리말

 

type : 어떤 의도로 커밋했나

Subject : 제목,코드 변경사항에 대한 짧은 요약

body : 긴 설명, 무엇을 왜  했는지!

footer : issue tracker ID 명시하고 싶은 경우 작성


🦑 type 🦑

type = "tag + subject" (태그 + 제목)

 

- 태그는 영어로, 첫 문자 대문자

"태그: 제목" 의 형태

 

 

< 태그 종류 >

  • Feat : 새로운 기능을 추가하는 경우
  • Fix : 버그를 고친경우
  • Docs : 문서를 수정한 경우
  • Style : 코드 포맷 변경, 세미콜론 누락, 코드 수정이 없는경우
  • Refactor : 코드 리펙토링
  • Test : 테스트 코드. 리펙토링 테스트 코드를 추가했을 때
  • Chore : 빌드 업무 수정, 패키지 매니저 수정
  • Design : CSS 등 사용자가 UI 디자인을 변경했을 때
  • Rename : 파일명(or 폴더명) 을 수정한 경우
  • Remove : 코드(파일) 의 삭제가 있을 때. "Clean", "Eliminate" 를 사용하기도 함
  • Add : 코드나 테스트, 예제, 문서등의 추가 생성이 있는경우- Improve : 향상이 있는 경우. 호환성, 검증 기능, 접근성 등이 될수 있습니다.
  • Implement : 코드가 추가된 정도보다 더 주목할만한 구현체를 완성시켰을 때
  • Move : 코드의 이동이 있는경우
  • Updated : 계정이나 버전 업데이트가 있을 때 사용. 주로 코드보다는 문서나, 리소스, 라이브러리등에 사용합니다.
  • Comment : 필요한 주석 추가 및 변경

 

< 제목 >

코드의 변경 사항에 대한 짧은 요약

- 제목 50자 이하

- 대문자 작성

- 마침표 없음

- 과거형 X 

- 명령조 시작

 

( ex) Feat: 추가 냠냠 함수 )


🦑 body 🦑

- 선택사항임

- 부연설명 / 커밋의 이유

- 어떻게 변경했는지보다 / 무엇을, 왜 변경했는지 설명

- 제목과 공백 한 줄 띄우기


🦑 footer 🦑

- 선택사항임

- issue tracker ID 작성 시 이용

- "유형: #이슈 번호" 형식 사용

 

< issue tracker 유형 >

  • Fixes : 이슈 수정중 (아직 해결되지 않은 경우)
  • Resolves : 이슈를 해결했을 때 사용
  • Ref : 참고할 이슈가 있을 때 사용
  • Related to : 해당 커밋에 관련된 이슈번호 (아직 해결되지 않은 경우)

( ex) Fixes: #45 Related to: #34, #23 )


Feat: "Add login API"        // 타입: 제목

로그인 API 개발               // 본문

Resolves: #123              // 꼬리말 => 이슈 123을 해결했으며,
Ref: #456                                 이슈 456 를 참고해야하며,
Related to: #48, #45         현재 커밋에서 아직 이슈 48 과 45 가 해결되지 않았다.