🎯 Git Commit Message μž‘μ„± κ°€μ΄λ“œ

슘·2024λ…„ 11μ›” 25일

🎯 개발 κ°€μ΄λ“œ

λͺ©λ‘ 보기
1/3

ν”„λ‘œμ νŠΈ 관리와 ν˜‘μ—…μ˜ νš¨μœ¨μ„±μ„ 높이기 μœ„ν•΄ Git 컀밋 λ©”μ‹œμ§€λ₯Ό μ²΄κ³„μ μœΌλ‘œ μž‘μ„±ν•˜λŠ” 방법을 μ†Œκ°œν•©λ‹ˆλ‹€. 컀밋 λ©”μ‹œμ§€ μž‘μ„±μ€ λ‹¨μˆœνžˆ μž‘μ—… λ‚΄μš©μ„ κΈ°λ‘ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, νŒ€μ›λ“€κ³Ό μž‘μ—… 내역을 κ³΅μœ ν•˜κ³  λ³€κ²½ 사항을 좔적할 수 μžˆλ„λ‘ λ•λŠ” μ€‘μš”ν•œ κ³Όμ •μž…λ‹ˆλ‹€.


1. κΈ°λ³Έ Git 컀밋 λ©”μ‹œμ§€ ν˜•μ‹

<type>(<scope>): <subject>

<body>

<footer>

* ν•„λ“œ μ„€λͺ…

type: λ³€κ²½ μ‚¬ν•­μ˜ μ’…λ₯˜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. (예: feat, fix, docs λ“±)
scope: (선택) λ³€κ²½ μ‚¬ν•­μ˜ λ²”μœ„λ₯Ό λͺ…μ‹œν•©λ‹ˆλ‹€. (예: auth, api)
subject: 컀밋 λ‚΄μš©μ„ κ°„λž΅νžˆ μš”μ•½ν•©λ‹ˆλ‹€. λͺ…λ Ήν˜•μœΌλ‘œ μž‘μ„±ν•©λ‹ˆλ‹€.
body: (선택) λ³€κ²½ μ‚¬ν•­μ˜ ꡬ체적인 λ‚΄μš©μ„ μ„€λͺ…ν•©λ‹ˆλ‹€.
footer: (선택) 이슈 λ²ˆν˜Έλ‚˜ κ΄€λ ¨ 정보λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.



2. type의 μ’…λ₯˜μ™€ 의미

Typeμ„€λͺ…
featμƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€
fix버그 μˆ˜μ •
docsλ¬Έμ„œ λ³€κ²½ (예: README μˆ˜μ •)
styleμ½”λ“œ μŠ€νƒ€μΌ λ³€κ²½ (예: ν¬λ§€νŒ…, μ„Έλ―Έμ½œλ‘  μΆ”κ°€/제거, 곡백 μ‘°μ • λ“±)
refactorλ¦¬νŒ©ν† λ§ (κΈ°λŠ₯ λ³€κ²½ μ—†μŒ)
testν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€ λ˜λŠ” μˆ˜μ •
choreλΉŒλ“œ ν”„λ‘œμ„ΈμŠ€, νŒ¨ν‚€μ§€ λ§€λ‹ˆμ € μ„€μ • λ“± 개발 ν™˜κ²½ λ³€κ²½


3. 컀밋 λ©”μ‹œμ§€ μž‘μ„± μ˜ˆμ‹œ

1) μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€

feat(auth): add login feature with JWT

- Implement user authentication with JWT tokens
- Add token verification middleware in backend
- Create login form on the frontend

2) 버그 μˆ˜μ •

fix(api): resolve 500 error on user fetch

- Fix incorrect query parameters causing server errors
- Update API documentation for the user endpoint

3) λ¬Έμ„œ λ³€κ²½

docs: update contributing guidelines

- Add a section for Git commit message format
- Update example commands for environment setup

4) μ½”λ“œ μŠ€νƒ€μΌ λ³€κ²½

style: format code with Prettier

- Apply Prettier to all JavaScript files
- Update ESLint configuration for better compatibility

5) λ¦¬νŒ©ν† λ§

refactor(auth): simplify login validation logic

- Replace nested if-else statements with guard clauses
- Add a utility function for input validation



4. 효율적인 컀밋 λ©”μ‹œμ§€λ₯Ό μœ„ν•œ 도ꡬ

Commitizen

  • CLI 도ꡬλ₯Ό μ‚¬μš©ν•΄ 컀밋 λ©”μ‹œμ§€λ₯Ό ν‘œμ€€ν™” ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
npm install -g commitizen
git cz

Lint-staged & Husky

  • Git 훅을 μ‚¬μš©ν•΄ 컀밋 λ©”μ‹œμ§€λ₯Ό μžλ™μœΌλ‘œ 검증할 수 μžˆμŠ΅λ‹ˆλ‹€.



5. 컀밋 λ©”μ‹œμ§€ μž‘μ„± 팁

  1. λ³€κ²½ μ‚¬ν•­μ˜ μ΄μœ μ™€ λͺ©μ μ„ μ€‘μ‹¬μœΌλ‘œ μž‘μ„±ν•˜μ„Έμš”.
  2. λ©”μ‹œμ§€λŠ” κ°„κ²°ν•˜κ³  λͺ…ν™•ν•˜κ²Œ μž‘μ„±ν•˜μ„Έμš”.
  3. μ˜μ–΄λ‘œ μž‘μ„±ν•˜λŠ” 것이 λ³΄νŽΈμ μ΄μ§€λ§Œ, νŒ€ κ·œμΉ™μ— 따라 ν•œκΈ€λ„ κ°€λŠ₯ν•©λ‹ˆλ‹€.
  4. ν”„λ‘œμ νŠΈ μ΄ˆκΈ°μ—λŠ” νŒ€μ›λ“€κ³Ό λ©”μ‹œμ§€ ν˜•μ‹μ— λŒ€ν•œ κ·œμΉ™μ„ ν•©μ˜ν•˜μ„Έμš”.



πŸš€ κ²°λ‘ 

체계적인 컀밋 λ©”μ‹œμ§€λŠ” ν”„λ‘œμ νŠΈμ˜ ν’ˆμ§ˆμ„ 높이고, ν˜‘μ—… νš¨μœ¨μ„±μ„ μ¦λŒ€μ‹œν‚€λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€. μœ„μ—μ„œ μ†Œκ°œν•œ 방법과 ν˜•μ‹μ„ μ°Έκ³ ν•΄, μΌκ΄€λœ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•˜λŠ” μŠ΅κ΄€μ„ κΈΈλŸ¬λ³΄μ„Έμš”! 😊

profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ μ„±μž₯κΈ° 기둝기둝

0개의 λŒ“κΈ€