Skip to content

CommitRule

sonwonill edited this page Oct 3, 2024 · 1 revision

Git Commit Rule

소개

gitmoji를 활용해서 커밋 멘트와 쉽게 표기하는 방법을 설명하는 글입니다!

원본 사이트 : Visit Gitmoji

설명 사이트 : Gitmoji 활용법

Commit 메시지 구조

커밋 메시지는 기본적으로 제목, 본문, 꼬리말 세 가지 파트로 나누며, 각 파트는 빈 줄로 구분합니다. <pre><code>type: subject body footer </code></pre>

Commit Type

타입은 태그와 제목으로 구성되며, 태그는 영어로 작성하고 첫 문자는 대문자입니다.

태그: 제목 형태이며, : 뒤에만 공백이 있습니다. <pre><code>- Feat: 새로운 기능 추가

  • Fix: 버그 수정
  • Docs: 문서 수정
  • Style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
  • Refactor: 코드 리팩토링
  • Test: 테스트 코드, 리팩토링 테스트 코드 추가
  • Chore: 빌드 업무 수정, 패키지 매니저 수정</code></pre>

Subject

제목은 최대 50글자를 넘지 않으며, 마침표 및 특수기호는 사용하지 않습니다. 영문으로 표기할 경우 동사(원형)를 가장 앞에 두고, 첫 글자는 대문자로 표기합니다. 제목은 개조식 구문으로 작성합니다.

예시:

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

Body

본문은 다음의 규칙을 지킨다:

  • 한 줄당 72자 내로 작성
  • 최대한 상세하게 작성
  • 어떻게 보다는 무엇을, 왜 변경했는지 설명

Footer

꼬리말은 선택사항이며, 이슈 트래커 ID를 작성할 때 사용합니다.

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

예시: <pre><code>Resolves: #123 Ref: #456 Related to: #48, #45</code></pre>

Commit 예시

<pre><code>Feat: "회원 가입 기능 구현" </code></pre>

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

<pre><code>Resolves: #123 Ref: #456 Related to: #48, #45</code></pre>

gitmoji

아이콘 코드 설명 원문
🎨 🎨 코드의 구조/형태 개선 Improve structure / format of the code.
⚡️ 성능 개선 Improve performance.
🔥 🔥 코드/파일 삭제 Remove code or files.
🐛 🐛 버그 수정 Fix a bug.
🚑 🚑 긴급 수정 Critical hotfix.
새 기능 Introduce new features.
📝 📝 문서 추가/수정 Add or update documentation.
💄 💄 UI/스타일 파일 추가/수정 Add or update the UI and style files.
🎉 🎉 프로젝트 시작 Begin a project.
테스트 추가/수정 Add or update tests.
🔒 🔒 보안 이슈 수정 Fix security issues.
🔖 🔖 릴리즈/버전 태그 Release / Version tags.
💚 💚 CI 빌드 수정 Fix CI Build.
📌 📌 특정 버전 의존성 고정 Pin dependencies to specific versions.
👷 👷 CI 빌드 시스템 추가/수정 Add or update CI build system.
📈 📈 분석, 추적 코드 추가/수정 Add or update analytics or track code.
♻️ ♻️ 코드 리팩토링 Refactor code.
의존성 추가 Add a dependency.
의존성 제거 Remove a dependency.
🔧 🔧 구성 파일 추가/삭제 Add or update configuration files.
🔨 🔨 개발 스크립트 추가/수정 Add or update development scripts.
🌐 🌐 국제화/현지화 Internationalization and localization.
💩 💩 똥싼 코드 Write bad code that needs to be improved.
변경 내용 되돌리기 Revert changes.
🔀 🔀 브랜치 합병 Merge branches.
📦 📦 컴파일된 파일 추가/수정 Add or update compiled files or packages.
👽 👽 외부 API 변화로 인한 수정 Update code due to external API changes.
🚚 🚚 리소스 이동, 이름 변경 Move or rename resources (e.g., files, paths, routes).
📄 📄 라이센스 추가/수정 Add or update license.
💡 💡 주석 추가/수정 Add or update comments in source code.
🍻 🍻 술 취해서 쓴 코드 Write code drunkenly.
🗃 🗃️ 데이터베이스 관련 수정 Perform database related changes.
🔊 🔊 로그 추가/수정 Add or update logs.
🙈 🙈 .gitignore 추가/수정 Add or update

최종 예시

<pre><code>✨ Feat: 회원 가입 기능 구현

사용자 인터페이스 및 서버 사이드 로직을 추가하여 새로운 회원 가입 기능을 구현했습니다. 이 기능은 사용자가 웹사이트에 새로 등록할 수 있게 해 주며, 데이터 유효성 검사와 오류 처리 기능을 포함합니다.

Resolves: #123</code></pre>

<pre><code>🚑 Fix: 로그인 처리 오류 수정

이메일 필드가 비어 있는 경우에도 로그인이 허용되는 문제를 해결했습니다. 입력 검증 로직을 추가하여 빈 필드에서는 로그인을 거부하도록 변경했습니다.

Fixes: #456</code></pre>

<pre><code>📚 Docs: API 문서 업데이트

새로 추가된 회원 가입 API의 매개변수와 예제 요청에 대한 설명을 문서에 추가하였습니다. 이 변경을 통해 개발자가 API를 더 쉽게 이해하고 사용할 수 있도록 돕습니다.

Related to: #789</code></pre>

# Git Commit Rule

소개

gitmoji를 활용해서 커밋 멘트와 쉽게 표기하는 방법을 설명하는 글입니다!

원본 사이트 : [Visit Gitmoji](https://gitmoji.dev/)

설명 사이트 : [Gitmoji 활용법](https://treasurebear.tistory.com/70)

Commit 메시지 구조

커밋 메시지는 기본적으로 제목, 본문, 꼬리말 세 가지 파트로 나누며, 각 파트는 빈 줄로 구분합니다.

type: subject
body
footer

Commit Type

타입은 태그와 제목으로 구성되며, 태그는 영어로 작성하고 첫 문자는 대문자입니다.

태그: 제목 형태이며, : 뒤에만 공백이 있습니다.

- Feat: 새로운 기능 추가

- Fix: 버그 수정
- Docs: 문서 수정
- Style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
- Refactor: 코드 리팩토링
- Test: 테스트 코드, 리팩토링 테스트 코드 추가
- Chore: 빌드 업무 수정, 패키지 매니저 수정

Subject

제목은 최대 50글자를 넘지 않으며, 마침표 및 특수기호는 사용하지 않습니다. 영문으로 표기할 경우 동사(원형)를 가장 앞에 두고, 첫 글자는 대문자로 표기합니다. 제목은 개조식 구문으로 작성합니다.

예시:

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

Body

본문은 다음의 규칙을 지킨다:

  • 한 줄당 72자 내로 작성
  • 최대한 상세하게 작성
  • 어떻게 보다는 무엇을, 왜 변경했는지 설명

Footer

꼬리말은 선택사항이며, 이슈 트래커 ID를 작성할 때 사용합니다.

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

예시:

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

Commit 예시

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

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

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

gitmoji

아이콘 코드 설명 원문
🎨 :art: 코드의 구조/형태 개선 Improve structure / format of the code.
⚡️ :zap: 성능 개선 Improve performance.
🔥 :fire: 코드/파일 삭제 Remove code or files.
🐛 :bug: 버그 수정 Fix a bug.
🚑 :ambulance: 긴급 수정 Critical hotfix.
:sparkles: 새 기능 Introduce new features.
📝 :memo: 문서 추가/수정 Add or update documentation.
💄 :lipstick: UI/스타일 파일 추가/수정 Add or update the UI and style files.
🎉 :tada: 프로젝트 시작 Begin a project.
:white_check_mark: 테스트 추가/수정 Add or update tests.
🔒 :lock: 보안 이슈 수정 Fix security issues.
🔖 :bookmark: 릴리즈/버전 태그 Release / Version tags.
💚 :green_heart: CI 빌드 수정 Fix CI Build.
📌 :pushpin: 특정 버전 의존성 고정 Pin dependencies to specific versions.
👷 :construction_worker: CI 빌드 시스템 추가/수정 Add or update CI build system.
📈 :chart_with_upwards_trend: 분석, 추적 코드 추가/수정 Add or update analytics or track code.
♻️ :recycle: 코드 리팩토링 Refactor code.
:heavy_plus_sign: 의존성 추가 Add a dependency.
:heavy_minus_sign: 의존성 제거 Remove a dependency.
🔧 :wrench: 구성 파일 추가/삭제 Add or update configuration files.
🔨 :hammer: 개발 스크립트 추가/수정 Add or update development scripts.
🌐 :globe_with_meridians: 국제화/현지화 Internationalization and localization.
💩 :poop: 똥싼 코드 Write bad code that needs to be improved.
:rewind: 변경 내용 되돌리기 Revert changes.
🔀 :twisted_rightwards_arrows: 브랜치 합병 Merge branches.
📦 :package: 컴파일된 파일 추가/수정 Add or update compiled files or packages.
👽 :alien: 외부 API 변화로 인한 수정 Update code due to external API changes.
🚚 :truck: 리소스 이동, 이름 변경 Move or rename resources (e.g., files, paths, routes).
📄 :page_facing_up: 라이센스 추가/수정 Add or update license.
💡 :bulb: 주석 추가/수정 Add or update comments in source code.
🍻 :beers: 술 취해서 쓴 코드 Write code drunkenly.
🗃 :card_file_box: 데이터베이스 관련 수정 Perform database related changes.
🔊 :loud_sound: 로그 추가/수정 Add or update logs.
🙈 :see_no_evil: .gitignore 추가/수정 Add or update

최종 예시

✨ Feat: 회원 가입 기능 구현

사용자 인터페이스 및 서버 사이드 로직을 추가하여 새로운 회원 가입 기능을 구현했습니다.
이 기능은 사용자가 웹사이트에 새로 등록할 수 있게 해 주며, 데이터 유효성 검사와 오류 처리 기능을 포함합니다.

Resolves: #123
🚑 Fix: 로그인 처리 오류 수정

이메일 필드가 비어 있는 경우에도 로그인이 허용되는 문제를 해결했습니다.
입력 검증 로직을 추가하여 빈 필드에서는 로그인을 거부하도록 변경했습니다.

Fixes: #456
📚 Docs: API 문서 업데이트

새로 추가된 회원 가입 API의 매개변수와 예제 요청에 대한 설명을 문서에 추가하였습니다.
이 변경을 통해 개발자가 API를 더 쉽게 이해하고 사용할 수 있도록 돕습니다.

Related to: #789