Skip to content

Commit Convension

신효승 edited this page Dec 9, 2024 · 1 revision

메시지 구조

  • 기본 적인 커밋 메시지 구조는 제목, 본문, 꼬리말 세가지 파트로 나누고, 각 파트는 빈줄을 두어 구분한다.
type : subject

body 

footer

타입

  • 타입은 태그와 제목으로 구성되고, 태그는 영어로 쓰되 첫 문자는 대문자로 한다.

  • 태그 : 제목의 형태이며, : 앞뒤에만 space가 있음에 유의한다.

Feat : 새로운 기능 추가
Fix : 버그 수정
Docs : 문서 수정
Breaking change : 커다란 API 변경
Hotfix : 급하게 치명적인 버그 고쳐야 하는 경우
Design : Html, CSS 등 사용자 UI 디자인 변경
Style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
Refactor : 코드 리펙토링
Comment : 필요한 주석 추가 및 변경
Test : 테스트 코드, 리펙토링 테스트 코드 추가
Chore : 빌드 업무 수정, 패키지 매니저 수정
Rename : 파일 혹은 폴더명을 수징하거나 옮기는 작업의 경우
Remove : 파일 혹은 폴더 삭제 및 변경
Config : 프로젝트 설정 변경

제목

  • 제목은 최대 50글자가 넘지 않도록 하고 마침표 및 특수기호는 사용하지 않는다.

  • 영문으로 표기하는 경우 동사(원형)를 가장 앞에 두고 첫 글자는 대문자로 표기한다.(과거 시제를 사용하지 않는다.)

  • 제목은 개조식 구문으로 작성한다. --> 완전한 서술형 문장이 아니라, 간결하고 요점적인 서술을 의미.

* Fixed --> Fix
* Added --> Add
* Modified --> Modify

본문

  • 본문은 다음의 규칙을 지킨다.

  • 본문 내용은 양에 구애받지 않고 최대한 상세히 작성한다.

  • 본문 내용은 어떻게 변경했는지 보다 무엇을 변경했는지 또는 왜 변경했는지를 설명한다.


하단

  • footer는 optional이고 이슈 트래커 ID를 작성

  • footer는 유형: #이슈 번호 형식으로 사용

  • 여러 개의 이슈 번호를 적을 때는 쉼표(,)로 구분

  • 이슈 트래커 유형은 다음 중 하나를 사용

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

커밋 예시

✨ Feat: "회원 가입 기능 구현"

SMS, 이메일 중복확인 API 개발

Resolves: #123
Ref: #456
Related to: #48, #45

커밋 메시지 이모지

아이콘 설명
🎨 코드의 구조/형태 개선
⚡️ 성능 개선
🔥 코드/파일 삭제
🐛 버그 수정
🚑 긴급 수정
새 기능
📝 문서 추가/수정
💄 UI/스타일 파일 추가/수정
🎉 프로젝트 시작
테스트 추가/수정
🔒 보안 이슈 수정**
🔖 릴리즈/버전 태그
💚 CI 빌드 수정
📌 특정 버전 의존성 고정
👷 CI 빌드 시스템 추가/수정
📈 분석, 추적 코드 추가/수정
♻️ 코드 리팩토링
의존성 추가
의존성 제거
🔧 구성 파일 추가/삭제
🔨 개발 스크립트 추가/수정
🌐 국제화/현지화
💩 똥싼 코드
변경 내용 되돌리기
🔀 브랜치 합병
📦 컴파일된 파일 추가/수정
👽 외부 API 변화로 인한 수정
🚚 리소스 이동, 이름 변경
📄 라이센스 추가/수정
💡 주석 추가/수정
🍻 술 취해서 쓴 코드
🗃 데이버베이스 관련 수정
🔊 로그 추가/수정
🙈 .gitignore 추가/수정
⚙️ 설정사항 수정

📋 관련 페이지

💡 관련 링크

Clone this wiki locally