Git - Commit Convention

이동수·2024년 12월 27일
0

Git

목록 보기
2/3
post-thumbnail

commit 메세지 구조

  • 제목, 본문, 꼬리말 - 세가지 파트로 나눈다, 각 파트는 빈줄을 두어 구분한다

    type: subject(제목)
    
    body(본문)
    
    footer(꼬리말)

commit type

  • 타입은 태크와 제목으로 구성되고, 태그는 영어로 쓰되 첫 문자는 대문자로 한다.
    • 태그: 제목 의 형태이며, :뒤에만 space가 있다
      • 기능
        • Feat: 새로운 기능 구현, 추가
        • Add : 부수적인 코드 추가 및 라이브러리 추가, 새로운 파일 생성
        • Fix: 버그 수정 및 오류 해결
        • Docs: 문서 수정 (README.md수정)
        • Design: css 등 사용자 UI변경
        • !BREAKING CHANGE: 커다란 API변경
      • 개선
        • Mod : 코드 수정 및 내부 파일 수정, 코드 포맷팅 등 (간단 한거)
        • Refactor: 코드 리펙토링 (전면 수정)
        • Commet:필요한 주석 추가 및 변경
      • 그외
        • Test: 테스트코드, 리펙토링 테스트 코드 추가 (test폴더 내부 변경만)
        • Chore : 빌드 업무 수정(버전 코드 수정), 패키지 구조 변경, 타입 및 변수명 변경 등의 작은 변경 등 진짜 별 거 아닌거
        • HOTFIX: 급하게 치명적인 버그를 고쳐야 하는경우 (Issue나 QA에서 문의된 급한 버그 및 오류해결 해야 하는 경우) - 해결하면 Fix로
        • Rename: 파일 혹은 폴더명을 수정
        • Move : 패키지, 파일, 코드 이동
        • Delete: 파일 삭제하는 작업만 수행한 경우
        • Merge : 다른 브랜치와의 Merge

1. subject (제목)

  • 50글자 이내로, 마침표 및 특수기호(. ! ?) 사용 X
  • 영문으로 표기하는 경우 동사(원형)를 가장 앞에두고 첫글자는 대문자로 표기(과거시제 사용X)
    • ex)
      Fixed -> Fix
      Added -> Add
      Modified -> Modify
  • 고침, 추가, 변경 의 명령어로 시작
    • ex) Feat: “추가 get data api 함수”
  • 제목은 개조식 구문으로 작성. 완전한 서술형 문장이 아니라, 간결하고 요점적인 서술을 의미.

2. body (본문)

  • 한 줄 당 72자 내로 작성
  • 양에 구애받지 않고 최대한 상세히 작성
  • 어떻게 변경했는지X → 무엇을 왜 변경했는지

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

최종 - commit 예시

   Feat: "회원 가입 기능 구현"
   
   SMS, 이메일 중복확인 API 개발
   
   Resolves: #dw123
   Ref: #456
   Related to: #48, #45

번외- 중요하지 않은 커밋 식별 (공백, 빈줄추카, 제거, 들여쓰기)

git bisect skip $(git rev-list --grep irrelevant <good place> HEAD)

0개의 댓글