GitHub 컀밋 λ©”μ‹œμ§€ μž‘μ„± μš”λ Ή λ³΄κ³ μ„œ

1. 컀밋 λ©”μ‹œμ§€λž€?

GitHub λ˜λŠ” Git을 μ‚¬μš©ν•˜λŠ” κ°œλ°œμ—μ„œ 컀밋 λ©”μ‹œμ§€λŠ” μ†ŒμŠ€ μ½”λ“œ λ³€κ²½ μ‚¬ν•­μ˜ λͺ©μ κ³Ό λ‚΄μš©μ„ μ„€λͺ…ν•˜λŠ” λ©”μ‹œμ§€μž…λ‹ˆλ‹€. 컀밋 λ©”μ‹œμ§€λ₯Ό 잘 μž‘μ„±ν•˜λ©΄ νžˆμŠ€ν† λ¦¬ 관리, ν˜‘μ—…, 버전 관리 μžλ™ν™” 등에 큰 도움이 λ©λ‹ˆλ‹€.


2. 쒋은 컀밋 λ©”μ‹œμ§€μ˜ 쑰건

  • 무엇을 λ³€κ²½ν–ˆλŠ”μ§€ λͺ…ν™•νžˆ
  • μ™œ λ³€κ²½ν–ˆλŠ”μ§€ κ°„λ‹¨νžˆ
  • μΌκ΄€λœ ν˜•μ‹μœΌλ‘œ μž‘μ„±
  • κ°€λŠ₯ν•˜λ©΄ μ˜μ–΄ λ˜λŠ” ν†΅μΌλœ ν•œκΈ€ 톀 μ‚¬μš©

3. 컀밋 λ©”μ‹œμ§€ μž‘μ„± ν˜•μ‹ (ꢌμž₯)

Conventional Commits 포맷

<type>(optional scope): <message>

μ£Όμš” Prefix (type)

νƒ€μž… μ„€λͺ… μ˜ˆμ‹œ
feat μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€ feat: 닀크λͺ¨λ“œ κΈ°λŠ₯ μΆ”κ°€
fix 버그 μˆ˜μ • fix: 둜그인 μ—λŸ¬ μˆ˜μ •
docs λ¬Έμ„œ κ΄€λ ¨ λ³€κ²½ docs: README μˆ˜μ •
style μ½”λ“œ ν¬λ§·νŒ… (κΈ°λŠ₯ X) style: μ„Έλ―Έμ½œλ‘  톡일
refactor λ¦¬νŒ©ν† λ§ (κΈ°λŠ₯ λ³€ν™” μ—†μŒ) refactor: 쀑볡 ν•¨μˆ˜ 제거
test ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€ test: μœ λ‹› ν…ŒμŠ€νŠΈ μž‘μ„±
chore λΉŒλ“œ, μ„€μ •, νŒ¨ν‚€μ§€ 관리 λ“± chore: ESLint μ„€μ • μΆ”κ°€

4. μ‹€μ œ μ˜ˆμ‹œ (sunbang123 μŠ€νƒ€μΌ κ°œμ„ )

κΈ°μ‘΄:

add new posting about processing engineering
new post upload (κΉƒ μ„œλ²„ 운영)
contents μž¬μ—…λ‘œλ“œ
μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ° 기좜 정리

κ°œμ„ :

docs: μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ° 기좜 정리 포슀트 μΆ”κ°€
feat: κΉƒ μ„œλ²„ 운영 κ΄€λ ¨ μ‹ κ·œ 포슀트 μ—…λ‘œλ“œ
chore: κΈ°μ‘΄ 포슀트 λ‚΄μš© μž¬μ—…λ‘œλ“œ 및 리포맷

μ½˜ν…μΈ  쀑심 컀밋 μ˜ˆμ‹œ:

docs: μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ° 포슀트 μ—…λ‘œλ“œ
docs: 포슀트 이미지 경둜 μˆ˜μ •
chore: κ²Œμ‹œκΈ€ νƒœκ·Έ μ—…λ°μ΄νŠΈ

5. 컀밋 λ©”μ‹œμ§€ μž‘μ„± μš”λ Ή μš”μ•½

μš”λ Ή μ„€λͺ…
1️⃣ 무엇 + μ™œ λ‹¨μˆœνžˆ β€˜μˆ˜μ •ν•¨β€™ 말고 μ΄μœ λ„ 포함
2️⃣ prefix μ‚¬μš© feat:, fix: λ“± λͺ…ν™•ν•œ νƒœκ·Έλ‘œ μ‹œμž‘
3️⃣ λͺ©μ  쀑심 μž‘μ„± λ‹¨μˆœνžˆ 파일λͺ…보닀 λ³€κ²½ λͺ©μ  μž‘μ„±
4️⃣ κ΄€λ ¨ μž‘μ—… λ¬ΆκΈ° κ΄€λ ¨ μžˆλŠ” 파일만 ν•¨κ»˜ 컀밋
5️⃣ κ°„κ²°ν•˜κ³  μΌκ΄€λ˜κ²Œ β€˜~ν–ˆμŠ΅λ‹ˆλ‹€β€™ 보닀 β€˜~좔가’, β€˜~μ œκ±°β€™ λ“± μΆ”μ²œ

6. 유λͺ… μ˜€ν”ˆμ†ŒμŠ€ μ˜ˆμ‹œ (콜둠 μŠ€νƒ€μΌ μ‚¬μš©)

ν”„λ‘œμ νŠΈ 컀밋 μ˜ˆμ‹œ
Angular fix(router): handle null route
Vue.js feat(ssr): support custom directives
TypeScript refactor: simplify type checking logic
VS Code chore: update dependencies
Next.js feat(next/image): add AVIF support

7. SEO κ΄€μ μ—μ„œμ˜ 컀밋 λΈ”λ‘œκ·Έ μž‘μ„± 팁

Git κ΄€λ ¨ 컀밋 λ©”μ‹œμ§€ μž‘μ„±λ²•μ„ λΈ”λ‘œκ·Έλ‘œ 정리할 λ•Œ, λ‹€μŒ μš”μ†Œλ“€μ„ κ³ λ €ν•˜λ©΄ 검색 λ…ΈμΆœ(SEO)에 더 μœ λ¦¬ν•©λ‹ˆλ‹€.

βœ… 제λͺ©(Title)에 ν‚€μ›Œλ“œ ν¬ν•¨ν•˜κΈ°

  • 예: How to Write Good Git Commit Messages
  • 자주 κ²€μƒ‰λ˜λŠ” ν‚€μ›Œλ“œ μ˜ˆμ‹œ:
    • git commit message
    • how to write commits
    • best practices for git
    • conventional commits

βœ… λ³Έλ¬Έ 첫 문단에 ν‚€μ›Œλ“œ μ‚¬μš©

Writing clean and effective Git commit messages is an essential skill for developers. In this guide, we’ll cover best practices, common mistakes, and real examples.

βœ… μ†Œμ œλͺ© ꡬ쑰화 (H2, H3 λ“± μ‚¬μš©)

  • μ˜ˆμ‹œ:
    ## Why Git Commit Messages Matter
    ## Git Commit Message Format (Conventional Commits)
    ## Common Mistakes to Avoid
    ## Examples of Good and Bad Commit Messages
    ## Final Tips for Clean Git Commit History
    

βœ… μ½˜ν…μΈ  λ‹€μ–‘ν™” (μ½”λ“œ, ν‘œ, 이미지 λ“±)

  • μ½”λ“œ 예제, before/after 비ꡐ, ν‘œ 등을 ν¬ν•¨ν•˜λ©΄ SEO + μ‚¬μš©μž λ§Œμ‘±λ„ μƒμŠΉ

βœ… 슬러그(URL) μ΅œμ ν™”

  • /blog/git-commit-message-guide βœ…
  • /blog/1234 ❌

βœ… 메타 μ„€λͺ…(meta description) μž‘μ„±

  • 검색 κ²°κ³Ό μš”μ•½ λ¬Έμž₯에 ν‘œμ‹œλ¨
  • 예:

    A complete guide to writing effective Git commit messages. Learn conventional commit types, examples, and common mistakes developers should avoid.


8. ν„°λ―Έλ„μ—μ„œ λ””ν…ŒμΌν•œ 컀밋 λ©”μ‹œμ§€ μž‘μ„±λ²•

βœ… 방법 1: ν•œ 쀄 λ©”μ‹œμ§€ + μ„€λͺ… μΆ”κ°€

git commit -m "docs: add blog post about writing good Git commit messages" \
            -m "Includes best practices, format examples, style comparisons, and SEO tips."

βœ… 방법 2: κΈ°λ³Έ μ—λ””ν„°μ—μ„œ 직접 μž‘μ„±

git commit

이후 μ—΄λ¦¬λŠ” 에디터에 μ•„λž˜μ™€ 같이 μž…λ ₯:

docs: add blog post about writing good Git commit messages

- Introduced best practices for writing clear commit messages
- Explained the Conventional Commits format with examples
- Compared [bracket] style and colon-based commit prefixes
- Added SEO tips for optimizing blog visibility on Google

βœ… 이전 컀밋 λ©”μ‹œμ§€ μˆ˜μ •ν•˜κΈ° (ν‘Έμ‹œ μ „)

git commit --amend

κΈ°μ‘΄ λ©”μ‹œμ§€λ₯Ό μˆ˜μ •ν•  수 있으며, ν‘Έμ‹œ μ „μ—λ§Œ μ‚¬μš©ν•˜λŠ” 것이 μ•ˆμ „ν•©λ‹ˆλ‹€.


10. Vim μ—λ””ν„°μ—μ„œ 컀밋 λ©”μ‹œμ§€ μ €μž₯/μ’…λ£Œ 방법

Gitμ—μ„œ git commit μ‹œ μ—΄λ¦¬λŠ” κΈ°λ³Έ ν…μŠ€νŠΈ μ—λ””ν„°λŠ” 보톡 Vimμž…λ‹ˆλ‹€.

μž‘λ™ μ˜ˆμ‹œ

alt text

  • Oλ₯Ό λˆ„λ₯΄λ©΄ λΌμ›Œλ„£κΈ° ν™œμ„±ν™”
  • ESCλ₯Ό λˆ„λ₯΄λ©΄ μ €μž₯ ν˜Ήμ€ μ’…λ£Œν• μˆ˜ 있음.
λ™μž‘ λͺ…λ Ήμ–΄
μ €μž₯ ν›„ μ’…λ£Œ :wq + Enter
μ €μž₯ 없이 μ’…λ£Œ :q! + Enter
μ €μž₯만 ν•˜κΈ° :w + Enter
μ €μž₯ ν›„ μ’…λ£Œ (λΉ λ₯Έ 방법) Shift + ZZ

βœ… κΈ°λ³Έ 에디터 λ³€κ²½ 방법

Nano둜 λ³€κ²½ (κ°„λ‹¨ν•œ μΈν„°νŽ˜μ΄μŠ€)

git config --global core.editor "nano"

11. 마무리

컀밋 λ©”μ‹œμ§€λŠ” λ‹¨μˆœν•œ λ©”λͺ¨κ°€ μ•„λ‹ˆλΌ μ†Œν†΅μ˜ 도ꡬ라고 ν•œλ‹€. λͺ©μ μ— 따라 μŠ€νƒ€μΌμ„ μ„ νƒν•˜λ˜, 일관성을 μœ μ§€ν•˜κ³  λͺ©μ μ΄ λͺ…ν™•ν•œ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•˜λŠ” 것이 κ°€μž₯ μ€‘μš”ν• κ±°κ°™λ‹€. ^^

Git λΈ”λ‘œκ·Έλ₯Ό μž‘μ„±ν•  λ•ŒλŠ” 기술적인 λ‚΄μš© + 검색 μ΅œμ ν™”(SEO) λͺ¨λ‘λ₯Ό κ³ λ €ν•΄μ„œ, 더 λ§Žμ€ κ°œλ°œμžλ“€μ—κ²Œ μœ μš©ν•˜κ²Œ 전달될 수 μžˆλ„λ‘ ꡬ성해야겠닀!