λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“ Front-End/Git&Github

[Git] Git Commit Message Conventions - 컀밋 λ©”μ‹œμ§€ κ·œμΉ™

by Sun A 2024. 10. 15.

참고 링크 : https://gist.github.com/stephenparish/9941e89d80e2bc58a153

 

Git Commit Message Conventions

Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

μž‘μ„± 계기

κΉƒ 컀밋을 ν•  λ•ŒλŠ” λ‚˜ 뿐만 μ•„λ‹ˆλΌ μƒλŒ€λ°©λ„ μ•Œμ•„λ³Ό 수 μžˆμ„ μ •λ„λ‘œ κΉ”λ”ν•œ 컀밋이 ν•„μš”ν•˜λ‹€. 

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— λ§Žμ€ μ‚¬λžŒλ“€μ΄ μ‚¬μš©ν•˜λŠ” κΉƒ 컀밋 κ·œμΉ™μ„ λ”°λ₯΄λŠ” 것이 쒋을 것이라 μƒκ°ν•œλ‹€.

μ§€κΈˆ μ œλŒ€λ‘œ μ•Œμ•„λ‘κ³  μŠ΅κ΄€ν™” 해두면 두고두고 μ‚¬μš©ν•  수 μžˆλŠ” κ·œμΉ™μ΄ 될 것 κ°™μ•„μ„œ μ œλŒ€λ‘œ λ°°μ›Œλ‘κ³ μž ν•œλ‹€.

 

λ˜ν•œ μœ„μ˜ μ°Έκ³  링크λ₯Ό λ²ˆμ—­ν•œ λ§Žμ€ λΈ”λ‘œκ·Έ 글이 μžˆλŠ”λ° λ‚΄κ°€ λ‹€μ‹œ μž‘μ„±ν•˜λŠ” μ΄μœ λŠ” λ‚˜μ˜ 곡뢀λ₯Ό μœ„ν•œκ²ƒλ„ μžˆμ§€λ§Œ 

λ‚˜μ²˜λŸΌ 컀밋에 μ΅μˆ™ν•˜μ§€ μ•Šμ€ μ‚¬λžŒλ“€μ€ μ •ν™•ν•˜κ²Œ μ–΄λ–»κ²Œ μž‘μ„±ν•˜λŠ” 게 λ§žλŠ”μ§€μ— λŒ€ν•œ μ˜ˆμ‹œκ°€ κ°€μž₯ κΆκΈˆν•˜λ‹€.

κ·Έλž˜μ„œ μ˜ˆμ‹œλ‘œ μ–΄λ–»κ²Œ μž‘μ„±ν•˜λŠ” 게 쒋을지에 λŒ€ν•œ 글을 μ¨λ³΄κ³ μžν•œλ‹€.

λ²ˆμ—­ν•˜μ—¬ 글을 잘 μ •λ¦¬ν•œ 글은 많기 λ•Œλ¬Έμ— λ‚˜λŠ” λ°”λ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΅μ‹¬λ§Œ λ‹€λ£¨κ³ μž ν•œλ‹€.

 

컀밋 λ©”μ‹œμ§€ ꡬ쑰

μš°μ„  컀밋 λ©”μ‹œμ§€λ₯Ό κ°€μž₯ μ‰½κ²Œ μž‘μ„±ν•˜λŠ” 방법은 μ•„λž˜μ™€ κ°™λ‹€.

git commit -m "λ©”μ‹œμ§€"

λ©”μ‹œμ§€ 뢀뢄에 μŒλ”°μ˜΄ν‘œλ₯Ό μ œμ™Έν•˜κ³  μžμ‹ μ΄ μ›ν•˜λŠ” λ‚΄μš©μ„ μž…λ ₯ν•˜λ©΄ λœλ‹€.

μ›λž˜ μž‘μ„±ν•˜λ˜ λŒ€λ‘œ ν•˜λ©΄ feat : κΈ°λŠ₯ 좔가와 같은 λ°©μ‹μœΌλ‘œ μ“°λ©΄ λœλ‹€.

근데 body와 footerκ°€ μžˆλŠ” 것은 λͺ°λžλ‹€!

μš°μ„  μ»€λ°‹μ˜ 전체적인 κ΅¬μ‘°λŠ” μ•„λž˜μ™€ κ°™λ‹€

<type>: <subject>

<body>

<footer>

 

 

Type

type μ„€λͺ… μ˜ˆμ‹œ
feat μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•œλ‹€. feat : νšŒμ›κ°€μž… κΈ°λŠ₯ μΆ”κ°€
fix 버그λ₯Ό μˆ˜μ •ν•  λ•Œ μ‚¬μš©ν•œλ‹€. fix: 둜그인 λ²„νŠΌμ΄ λ™μž‘ν•˜μ§€ μ•Šλ˜ 문제 μˆ˜μ •
docs λ¬Έμ„œλ₯Ό μˆ˜μ •ν•˜κ±°λ‚˜ μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•œλ‹€. docs: README에 μ„€μΉ˜ κ°€μ΄λ“œ μΆ”κ°€
style μ½”λ“œμ˜ 포맷만 μˆ˜μ •ν•˜λŠ” 경우 (κΈ°λŠ₯ λ³€κ²½ X) style: μ½”λ“œ 쀄 λ°”κΏˆ 및 λ“€μ—¬μ“°κΈ° μˆ˜μ •
refactor μ½”λ“œ λ¦¬νŒ©ν† λ§ (κΈ°λŠ₯ 동일, μ½”λ“œ ꡬ쑰 λ³€κ²½ O) refactor: 쀑볡 μ½”λ“œ 제거 및 ν•¨μˆ˜ λͺ¨λ“ˆν™”
test ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ μˆ˜μ •ν•  λ•Œ μ‚¬μš© test: μ‚¬μš©μž 둜그인 ν…ŒμŠ€νŠΈ μΆ”κ°€
chore 기타 μžμž˜ν•œ μž‘μ—…, λΉŒλ“œ 업무/개발 도ꡬ μ„€μ • λ³€κ²½ chore: νŒ¨ν‚€μ§€ 버전 μ—…λ°μ΄νŠΈ

 

Subject

  • λͺ…λ Ήν˜•, ν˜„μž¬ν˜•μ„ μ‚¬μš©ν•˜λ©΄ μ•ˆλœλ‹€. => ꡬ문 ν˜•μ‹
  • 첫 κΈ€μžλŠ” λŒ€λ¬Έμžλ‘œ μž‘μ„±ν•΄μ„  μ•ˆλœλ‹€. (ν•œκΈ€ ν•΄λ‹Ή X)
  • 끝에 λ§ˆμΉ¨ν‘œκ°€ μ—†μ–΄μ•Ό ν•œλ‹€.

 

Body

사싀 이 글을 μž‘μ„±ν•œ 이유.. Body뢀뢄은 μž‘μ„±ν•΄λ³Έ 적이 μ—†λ‹€.

λ¬Όλ‘  선택사항이긴 ν•˜λ‹€.

일단 Subjectλ₯Ό μž‘μ„±ν•˜κ³  λ‚˜λ©΄ Body와 ν•œ μ€„μ˜ 빈 라인(Blank Line)이 ν•„μš”ν•˜λ‹€.

  • λͺ…λ Ήν˜•μ„ μ‚¬μš©ν•˜κ³ , ν˜„μž¬ μ‹œμ œλ₯Ό μ‚¬μš©ν•œλ‹€. 
  • 변경에 λŒ€ν•œ 동기λ₯Ό ν¬ν•¨ν•˜κ³ , 이전 λ™μž‘κ³Όμ˜ 차이λ₯Ό λͺ…μ‹œν•œλ‹€.

μ˜ˆμ‹œ ν˜•μ‹μ€ μ•„λž˜μ™€ κ°™λ‹€.

feat: νšŒμ›κ°€μž… κΈ°λŠ₯ μΆ”κ°€

μ‚¬μš©μžκ°€ νšŒμ›κ°€μž…ν•  수 μžˆλŠ” κΈ°λŠ₯을 μΆ”κ°€ν•©λ‹ˆλ‹€:
- μ‚¬μš©μž 이름, 이메일, λΉ„λ°€λ²ˆν˜Έ μž…λ ₯ ν•„λ“œλ₯Ό 제곡
- μž…λ ₯된 정보에 λŒ€ν•œ μœ νš¨μ„± 검사λ₯Ό μˆ˜ν–‰
- μ„œλ²„λ‘œ νšŒμ›κ°€μž… μš”μ²­μ„ μ „μ†‘ν•˜κ³  응닡을 처리
- νšŒμ›κ°€μž… μ™„λ£Œ ν›„ ν™˜μ˜ λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œ

 

Footer

μ€‘μš”ν•œ λ³€κ²½ 사항을 μž‘μ„±ν•˜λŠ” 곳이닀.

μ•„λ§ˆ μ΄μŠˆκ°€ μ—†κ±°λ‚˜ μ£Όμš” λ³€κ²½ 사항이 μ—†λ‹€λ©΄ μž‘μ„±μ„ μ œμ™Έν•΄λ„ λ˜λŠ” 선택 사항이닀.

κ°„λ‹¨ν•˜κ²Œ 이슈 번호λ₯Ό μž‘μ„±ν•΄λ„ λ˜λŠ” 것 κ°™λ‹€.

Closes #351

 

κ²°λ‘ 

결둠적으둜 자주 μ“°κ²Œ 될 μ»€λ°‹μ˜ Typeκ³Ό Subject μž‘μ„± 방법은 μ™Έμ›Œλ‘κ³  컀밋에 담을 λ‚΄μš©μ΄ λ§Žλ‹€λ©΄ Body 칸을 ν™œμš©ν•˜μ—¬ 컀밋 λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•˜λ©΄ 될 것 κ°™λ‹€!