Commit message 작성하기

dlgnswk·2024년 2월 28일

Commit Message

  • 무엇을 언제 수정했는지 개발자들끼리 공유하기 위한 메세지

  • 컨벤션(작성 규칙)이 존재

    (커밋 메세지는 누구에게나 쉽지 않은듯 하다...)



Commit Convention

  • 커밋 메세지는 누적될수록 가독성이 떨어짐
  • 협업시 팀단위 규칙을 정하는것이 유지보수시 도움이 됨

커밋 메세지는
제목
본문
꼬리말 로 구성된다.


1. 제목(Subject)

타입: 제목

ex) Feat: "로그인 기능 구현" , Design: 로그인 버튼 변경

  • 제목 작성 규칙

    • 타입과 제목을 한 줄 띄우고 콜론:으로 분리하기
    • 제목은 영문기준 50자 이내로 작성하기
    • 과거형으로 작성하지 않고 명령조로 작성하기
    • 제목의 첫 글자는 대문자로 적고, 마침표는 사용하지 않기
    • 두번째 줄은 항상 비워두기

  • 타입의 종류

    • Feat : 새로운 기능을 추가한 경우
    • Fix : 버그를 고친 경우
    • Design : CSS 등 사용자 UI 디자인 변경
    • !BREAKING CHANCE : 커다란 API 변경인 경우
    • !HOTFIX : 급하게 치명적인 버그를 고쳐야 하는 경우
    • Style : 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
    • Refactor* : 프로덕션 코드 리팩토링
    • Comment : 필요한 주석 추가 및 변경
    • Docs : 문서를 수정한 경우
    • Test : 테스트 추가, 테스트 리팩토링 (프로덕션 코드 변경 X)
    • Chore : 빌드 테스트 업데이트, 패키지 매니저를 설정하는 경우 (프로덕션 코드 변경 X)
    • Rename : 파일혹은 폴더명을 수정하거나 옮기는 작업만인 경우
    • Remove : 파일을 삭제하는 작업만 수행한 경우(Clean, Eliminate 사용 가능)
    • Add : 코드, 테스트, 예제, 문서 등 추가생성이 있는 경우
    • Improve : 호환성, 검증 기능, 접근성 등 향상이 있는 경우
    • Implement : 코드 추가보다 더 주목할만한 구현체를 완성한 경우
    • Move : 코드의 이동이 있는 경우
    • Updated : 계정이나 버전 업데이트가 있는 경우(코드 보다는 문서, 리소스, 라이브러리 등)


  • 제목의 내용

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

2. 본문(Body) - Optional

무엇을 왜 했는지

  • 본문 작성 규칙
    • 선택사항
    • 부연설명이 필요하거나 커밋에 이유를 설명할 경우 작성
    • 어떻게 변경했는지 보다 무엇을 변경했는지, 왜 변경했는지를 작성
    • 공백을 한 줄 띄워 제목과 구분
    • 72자를 넘기지 않게 작성

3. 꼬리말(Footer)

유형: #이슈 번호

ex) Resolves: #67 , Ref: #64

  • 꼬리말 작성 규칙

    • 선택사항
    • issue tracker id 를 작성할 때 사용
  • issue tracker 유형의 종류

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

출처 & 참고

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

https://velog.io/@ye-ji/Git-PR-%EC%9E%98-%EC%93%B0%EB%8A%94-%EB%B0%A9%EB%B2%95

https://umbum.tistory.com/446

profile
The loop will end some day

0개의 댓글