Skip to content

커밋 컨벤션

HarrySeop edited this page Jun 24, 2024 · 1 revision

커밋 컨벤션

💡커밋은 논리적으로 구분이 되고, 일관성이 유지되는 단위로 최대한 작게 쪼개서 작성합니다.

커밋 메세지 컨벤션

  1. 영어 컨벤션은 5개만 사용 (Feat, Add, Modify, Style, Delete)

    • Feat : 기능 추가 (브랜치 맨처음 커밋할때, 기능 추가할때)
    • Add : 코드 추가 (어떠한 기능 내에 기능을 더 추가할 때)
    • Modify : 코드 수정 ( 버그 수정, 코드 지우고, 추가하고, 수정하는 모든 과정들 )
    • Style : 컴포넌트 및 UI 구현 (스타일드 컴포넌트)
    • Delete : 코드 삭제 (코드만 지우는것)
  2. 깃모지 + 영어 컨벤션 + 커밋 메시지 형식으로 작성

    • 예시 ) ✨Feat: 로그인기능구현 (깃모지+영어:(공백)한글 커밋 메세지)
[자주 사용]
💄  :lipstick: UI, 스타일 관련 파일 추가 및 수정
✨  :sparkles: 새로운 기능 추가, 구현
💬  :speech_balloon: 텍스트 또는 리터럴 추가 및 수정
🍱  :bento: asset 파일(이미지, 아이콘 등) 추가
📝  :memo: 문서 파일 추가 및 수정
🎨  :art: 코드의 구조/형태 개선
💡  :bulb: 주석 추가/수정
🚧  :construction: 진행중인 작업
⚡️  :zap: 성능 개선

[종종 사용]
✏️  :pencil2: 단순 오타 수정
🐛  :bug: 버그 수정
🩹  :adhesive_bandage: 단순한, critical하지 않은 이슈 수정
🚚  :truck: 파일, 경로, route를 옮기거나 이름 변경
♻️  :recycle: 코드 리팩토링
🔥  :fire: 삭제(파일, 코드)
📱  :iphone: 반응형 디자인 작업

[가끔 사용]
♿️  :wheelchair: 웹 접근성 향상을 위한 코드 추가 및 수정
🙈  :see_no_evil: gitignore 추가 및 수정
🗃   :card_file_box: 데이버베이스 관련 수정
🔖  :bookmark: 릴리즈/버전 태그
🔒  :lock: 보안 이슈 수정
🎉  :tada: 프로젝트 시작
🚀  :rocket: 프로젝트 배포
  1. 제목은 50글자 이내

  2. 제목 + 본문(선택)으로 구성 / 제목에서 설명하지 못하는 경우 본문에 자세히 작성

  3. 커밋 메세지는 무엇을 했는지 파악할 수 있게 자세히 작성

  4. 어떻게 보다는 무엇과 왜를 설명하기.

  5. 제목은 명령문O, 과거형 X

  6. 제목의 끝에는 마침표를 넣지 않기

  7. 한 개의 커밋에는 한 개의 기능/변경사항만 작성하도록 노력. 1커밋 1기능

한 커밋에는 한 가지 문제만!

  • 추적 가능하게 유지해주기
  • 너무 많은 문제를 한 커밋에 담으면 추적하기 어렵다.

CLI에서 커밋 메시지 여러 줄로 작성하는 방법

✅ 쌍따옴표를 닫지 말고 개행하며 작성 → 다 작성한 후에 쌍따옴표를 닫으면 작성 완료