백엔드 공부/Git

Git 커밋 컨벤션

철매존 2022. 4. 4. 22:10
728x90
반응형

깃의 커밋 진행 시 가독성 향상과 협업을 위해, 일관성 있고 원칙을 가진 커밋 메세지를 작성할 필요가 있다.

Commit 메세지 구조

  • Title(제목)
    • type
    • subject
  • Body(본문)
  • Footer(optional)(꼬리말)

제목, 본문, 꼬리말 세 파트로 나누며, 각 파트는 빈칸으로 구분된다.

type : subject

body

footer

Commit Type

제목을 구성하는 Type의 경우 어떠한 이유로 커밋을 진행했는지 적는다.
보통의 경우 type의 맨 앞 글자는 대문자로 적는다.

Type description
Feat 새로운 기능 추가
Fix 버그 수정
Docs 문서 수정
Refactor 코드 리펙터링
Test 테스트 코드, 리펙토링 테스트 코드 추가
Chore 빌드 업무 수정, 패키지 매니저 설정
Rename 파일 혹은 폴더명 수정, 이동
Remove 파일 삭제
!HOTFIX 급하게 치명적인 버그 수정 진행
Design 디자인 변경
Style 코드 포맷 변경, 세미콜론 누락, 코드 수정이 없는 경우
Comment 필요한 주석 추가 및 변경

Subject

제목은 코드 변경 사항의 요약내용을 담는다.
제목을 작성할 때에는 아래의 규약을 적용한다.

  1. 50자 이내로 작성한다.
  2. 마침표, 특수기호 등을 사용하지 않는다.
  3. 대문자로 시작하며 과거 시제가 아닌 동사원형을 사용한다.
  4. 개조식 구문 사용하기(서술형X)

Body

본문은 실제 커밋한 내용에 대한 자세한 설명을 작성한다.
본문을 작성할 때에는 아래의 규약을 적용한다.

  1. 한 줄당 72자 내로 작성한다.
  2. 본문은 최대한 상세히 작성한다. 양이 많으면 많은대로 다 작성하면 된다.
  3. 무엇을, 왜 변경했는지를 설명한다.
    • 어떻게 변경했는지를 적을 필요는 없다.

footer

꼬리말은 반드시 작성할 필요는 없다.
이슈 트래커 ID를 작성한다.

작성 요령은 다음과 같다.

  • 유형: #이슈번호 의 형식으로 작성한다.
  • 여러 개의 이슈번호를 적을 때는 , 로 구분한다.
  • 이슈 트래커의 유형은 다음 중 하나를 사용한다.
    • Fixes
      • 이슈 수정중(아직 해결되지 않음)
    • Resolves
      • 이슈 해결
    • Ref
      • 참고할 이슈가 있을 때 사용
    • Related to
      • 해당 커밋에 관련된 이슈변호(Fixes에 관련하여)

즉 꼬리말은 어떤 이슈인지, 어디와 관련된 것인지 파악하기 위해 작성하도록 한다.

Ex

회원 가입 기능 구현시

Feat: "회원 가입"

회원 가입 기능 구현

Resolves: #123
Ref: #345
Related to: #11, #23, #32

이런 식으로 하면 된다.

Git 이모지

https://gitmoji.dev/
https://github.com/carloscuesta/gitmoji

깃을 올릴 때에 이모지를 사용해서 더 명확하게 확인할 수 있도록 도와준다.
참고로 이 깃 이모지는 IntelliJ를 사용하는 경우

마켓플레이스에서 깃모지 다운로드로 쉽게 사용 가능하다.

반응형