πŸ‘©πŸ»‍πŸ’» Dev/GIT

μ»€λ°‹λ©”μ‹œμ§€ μ»¨λ²€μ…˜μ΄λž€? : Conventional Commits μ†Œκ°œ

yesolz 2023. 8. 29. 22:08
728x90

 
μ»€λ°‹λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•  λ•Œ, μΌκ΄€λœ κ·œμΉ™μ„ λ”°λ₯΄λŠ” 정해놓고 λ”°λ₯΄λ„둝 ν•˜λŠ” 것을 'μ»€λ°‹λ©”μ‹œμ§€ μ»¨λ²€μ…˜'이라고 ν•œλ‹€.
μ»€λ°‹λ©”μ‹œμ§€ μ»¨λ²€μ…˜ μ€‘μ—μ„œλ„ 많이 μ‚¬μš©λ˜λŠ” 'Conventional Commits' 을 μ†Œκ°œν•˜λ €κ³  ν•œλ‹€. 
Conventional Commits μ‚¬μ΄νŠΈμ— λ°©λ¬Έν•˜λ©΄, ꡬ쑰와 ꡬ성 μš”μ†Œ, μ‚¬μš© 사둀가 μžμ„Ένžˆ λ‚˜μ™€μžˆλ‹€.
 

Conventional Commits μ‚¬μš© λͺ©μ 

  • CHANGELOGλ₯Ό μžλ™μœΌλ‘œ μƒμ„±ν•˜κΈ° μœ„ν•΄μ„œ
  • (ν¬ν•¨λœ μ»€λ°‹μ˜ νƒ€μž…μ— κΈ°λ°˜ν•˜μ—¬) 유의적 버전을 μžλ™μœΌλ‘œ λ³€κ²½ν•˜κΈ° μœ„ν•΄μ„œ
  • νŒ€ λ™λ£Œ, 타인, 그리고 기타 μ΄ν•΄λ‹Ήμ‚¬μžμ—κ²Œ λ³€ν™”μ˜ λ³Έμ§ˆμ„ μ „λ‹¬ν•˜κΈ° μœ„ν•΄μ„œ
  • λΉŒλ“œμ™€ 배포 ν”„λ‘œμ„ΈμŠ€λ₯Ό μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄μ„œ
  • 더 κ΅¬μ‘°ν™”λœ 컀밋 νžˆμŠ€ν† λ¦¬λ₯Ό λ³΄μ—¬μ€˜μ„œ μ‚¬λžŒλ“€μ΄ ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν•˜κΈ° 더 쉽도둝 ν•˜κΈ° μœ„ν•΄μ„œ

 

ꡬ쑰

<νƒ€μž…>[적용 λ²”μœ„(선택 사항)]: <μ„€λͺ…>

[λ³Έλ¬Έ(선택 사항)]

[꼬리말(선택 사항)]

κ΅¬μ„±μš”μ†Œ(<νƒ€μž…>, λ³Έλ¬Έ, 꼬리말)

build: μ‹œμŠ€ν…œ λ˜λŠ” μ™ΈλΆ€ 쒅속성에 영ν–₯을 λ―ΈμΉ˜λŠ” 변경사항 (npm, gulp, yarn 레벨)
ci: ciκ΅¬μ„±νŒŒμΌ 및 슀크립트 λ³€κ²½
chore: λΉŒλ“œ μ„€μ • λ³€κ²½, μ½”λ“œ ν¬λ§·νŒ…, λ¬Έμ„œ μ—…λ°μ΄νŠΈ λ“±μ˜ μ½”λ“œ 변경이 μ•„λ‹Œ μž‘μ—…
docs: λ¬Έμ„œ κ΄€λ ¨ μ—…λ°μ΄νŠΈ
feat: μƒˆλ‘œμš΄ κΈ°λŠ₯
fix: 버그 μˆ˜μ •
perf: μ„±λŠ₯ κ°œμ„  κ΄€λ ¨ μ—…λ°μ΄νŠΈ
refactor: 버그λ₯Ό μˆ˜μ •ν•˜κ±°λ‚˜ κΈ°λŠ₯을 μΆ”κ°€ν•˜μ§€ μ•ŠλŠ” μ½”λ“œ λ³€κ²½, λ¦¬νŒ©ν† λ§
style: μ½”λ“œ μ˜λ―Έμ— 영ν–₯을 주지 μ•ŠλŠ” 변경사항 ( white space, formatting, colons )
test: λˆ„λ½λœ ν…ŒμŠ€νŠΈ μΆ”κ°€ λ˜λŠ” κΈ°μ‘΄ ν…ŒμŠ€νŠΈ μˆ˜μ • (ν…ŒμŠ€νŠΈ μ½”λ“œ κ΄€λ ¨ μ—…λ°μ΄νŠΈ)
revert: μž‘μ—… 되돌리기

-> 개발 κ³Όμ • μ€‘μ—μ„œλŠ”  feat, fix, refactor, style 을 많이 μ‚¬μš©ν•˜λŠ” 것 κ°™λ‹€. 
 

μŠ€νŽ™μ— λ§žλŠ” νƒ€μž…μ„ μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ μ˜¬λ°”λ₯Έ νƒ€μž…μ΄ μ•„λ‹Œ 경우, 예λ₯Ό λ“€μ–΄, feat λŒ€μ‹  fix

μ‹€μˆ˜λ₯Ό 병합 λ˜λŠ” λ¦¬λ² μ΄μŠ€ν•˜κΈ° 전에, git rebase -iλ₯Ό μ‚¬μš©ν•˜μ—¬ 컀밋 νžˆμŠ€ν† λ¦¬λ₯Ό νŽΈμ§‘ν•  것을 ꢌμž₯ν•©λ‹ˆλ‹€. 릴리즈 ν›„μ—λŠ” μ‚¬μš©ν•˜λŠ” 툴과 ν”„λ‘œμ„ΈμŠ€μ— 따라 μ •λ¦¬ν•˜λŠ” 방법이 λ‹€λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
-> 컀밋 λ©”μ‹œμ§€λ₯Ό 잘λͺ» λ‚¨κ²¨μ„œ git rebase λ₯Ό 톡해 νžˆμŠ€ν† λ¦¬ νŽΈμ§‘ν•œ 적이 λͺ‡ 번 μžˆμ—ˆλŠ”λ°, 곡식 λ¬Έμ„œμ—μ„œλ„ 이λ₯Ό ꢌμž₯ν•˜κ³  μžˆμ—ˆλ‹€.
 
 μΆœμ²˜

Conventional Commits

컀밋 메세지에 μ‚¬μš©μžμ™€ 기계 λͺ¨λ‘κ°€ 이해할 수 μžˆλŠ” 의미λ₯Ό λΆ€μ—¬ν•˜κΈ° μœ„ν•œ μŠ€νŽ™

www.conventionalcommits.org

 

효율적인 commit message μž‘μ„±μ„ μœ„ν•œ conventional commits

μ•ˆλ…•ν•˜μ„Έμš” νœ΄λ¨ΌμŠ€μΌ€μ΄ν”„ 개발자 Jake μž…λ‹ˆλ‹€.

medium.com

 

728x90