Search

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜

Conventional Commits ๊ธฐ๋ฐ˜ ์‹ค๋ฌด ์ ์šฉ ๊ฐ€์ด๋“œ

๊ธฐ๋ณธ ํ˜•์‹ (ํ‘œ์ค€)

์ข‹์€ ์˜ˆ์‹œ

Type ์ข…๋ฅ˜ (๊ฐ€์žฅ ์ค‘์š”)

ํƒ€์ž…
์˜๋ฏธ
์˜ˆ์‹œ
feat
์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
feat: ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ๊ธฐ๋Šฅ
fix
๋ฒ„๊ทธ ์ˆ˜์ •
fix: ๋กœ๊ทธ์ธ ์˜ค๋ฅ˜ ์ˆ˜์ •
docs
๋ฌธ์„œ ๋ณ€๊ฒฝ
docs: README ์ˆ˜์ •
style
์ฝ”๋“œ ์Šคํƒ€์ผ (ํฌ๋งท, ์„ธ๋ฏธ์ฝœ๋ก  ๋“ฑ)
style: ํฌ๋งท ์ •๋ฆฌ
refactor
๋ฆฌํŒฉํ† ๋ง (๊ธฐ๋Šฅ ๋ณ€ํ™” ์—†์Œ)
refactor: ์„œ๋น„์Šค ๊ณ„์ธต ๋ถ„๋ฆฌ
test
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ
test: UserService ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
chore
๊ธฐํƒ€ ์ž‘์—… (๋นŒ๋“œ, ์„ค์ • ๋“ฑ)
chore: gradle ์„ค์ • ๋ณ€๊ฒฝ
build
๋นŒ๋“œ ์‹œ์Šคํ…œ, ์˜์กด์„ฑ
build: ์˜์กด์„ฑ ๋ฒ„์ „ ์—…
ci
CI ์„ค์ •
ci: GitHub Actions ์ถ”๊ฐ€
perf
์„ฑ๋Šฅ ๊ฐœ์„ 
perf: ์ฟผ๋ฆฌ ์ตœ์ ํ™”
revert
์ปค๋ฐ‹ ๋˜๋Œ๋ฆฌ๊ธฐ
revert: ์ž˜๋ชป๋œ ์ปค๋ฐ‹ ์ทจ์†Œ

Subject ์ž‘์„ฑ ๊ทœ์น™

โ€ข
50์ž ์ด๋‚ด๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ
โ€ข
๋ช…๋ นํ˜•, ํ˜„์žฌํ˜• ์‚ฌ์šฉ (๊ณผ๊ฑฐํ˜• )
โ€ข
๋งˆ์นจํ‘œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ
โ€ข
์ฒซ ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž (์˜๋ฌธ ๊ธฐ์ค€)

๋‚˜์œ ์˜ˆ

์ข‹์€ ์˜ˆ

Scope (์„ ํƒ์‚ฌํ•ญ)

๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ฒ”์œ„/๋ชจ๋“ˆ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.
Scope ์˜ˆ์‹œ: auth, user, admin, db, api, ui, core, config ๋“ฑ

Body (๋ณธ๋ฌธ, ์„ ํƒ์‚ฌํ•ญ)

๋ฌด์—‡์„, ์™œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Footer (ํ‘ธํ„ฐ, ์„ ํƒ์‚ฌํ•ญ)

์ด์Šˆ ํŠธ๋ž˜์ปค์™€ ์—ฐ๋™ํ•˜๊ฑฐ๋‚˜ Breaking Change๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

์ด์Šˆ ์—ฐ๋™

Breaking Change

ํ•œ๊ธ€ vs ์˜์–ด?

ํ•œ๊ธ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ! (ํŒ€ ๋‚ด ํ•ฉ์˜๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”)

ํ•œ๊ธ€ ์‚ฌ์šฉ

โ€ข
์ฝ๊ธฐ ์‰ฝ๊ณ  ์ดํ•ด๊ฐ€ ๋น ๋ฆ„
โ€ข
ํ•œ๊ตญ ํŒ€์— ์ ํ•ฉ

์˜์–ด ์‚ฌ์šฉ

โ€ข
๊ตญ์ œ ํ˜‘์—…์— ์œ ๋ฆฌ
โ€ข
์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ ์‹œ ํ•„์ˆ˜

์‹ค๋ฌด์šฉ ์ถ”์ฒœ ์ปจ๋ฒค์…˜

๊ฐœ์ธ / ์†Œ๊ทœ๋ชจ ํŒ€

โ†’ Type๋งŒ ๋ช…ํ™•ํžˆ, Scope๋Š” ์ƒ๋žต ๊ฐ€๋Šฅ

์ค‘๋Œ€ํ˜• ํŒ€ / ๊ธฐ์—…

โ†’ Scope ํ•„์ˆ˜, ๋ชจ๋“ˆ๋ณ„ ๊ด€๋ฆฌ ๋ช…ํ™•

์˜คํ”ˆ์†Œ์Šค

โ†’ ์˜์–ด ์‚ฌ์šฉ, ์ด์Šˆ ์—ฐ๋™, Breaking Change ๋ช…์‹œ

์‹ค๋ฌด ์ปค๋ฐ‹ ์˜ˆ์‹œ ๋ชจ์Œ

ํ”„๋ก ํŠธ์—”๋“œ

๋ฐฑ์—”๋“œ

ํ…Œ์ŠคํŠธ

์ธํ”„๋ผ / DevOps

๋ฌธ์„œ

์‹ค๋ฌด ํŒ (์ค‘์š”)

1. ํ•œ ์ปค๋ฐ‹ = ํ•œ ๋ชฉ์ 
2. ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋งŒ ๋ณด๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํŒŒ์•… ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ
3. ์ž์ฃผ ์ปค๋ฐ‹ํ•˜๊ธฐ
4. ์ปค๋ฐ‹ ์ „ ๋ฆฌ๋ทฐํ•˜๊ธฐ
5. Breaking Change๋Š” ๋ฐ˜๋“œ์‹œ ๋ช…์‹œ

ํ•œ ์ค„ ์š”์•ฝ

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” "๋ฌด์—‡์„ ์™œ ํ–ˆ๋Š”์ง€"๋ฅผ ์งง๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚จ๊ธฐ๋Š” ๊ธฐ๋ก ๋ฏธ๋ž˜์˜ ๋‚˜์™€ ํŒ€์›์„ ์œ„ํ•œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค!

์ฐธ๊ณ  ํ•˜๊ธฐ

์ปค๋ฐ‹ ํ…œํ”Œ๋ฆฟ ์„ค์ •ํ•˜๊ธฐ (์ž๋™ํ™”)
Git Hook์œผ๋กœ ์ปค๋ฐ‹ ๊ทœ์น™ ๊ฐ•์ œํ•˜๊ธฐ
IntelliJ / VSCode ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ
Commitizen ์„ค์น˜ (๋Œ€ํ™”ํ˜• ์ปค๋ฐ‹ ๋„๊ตฌ)
ํŒ€ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ๋ฌธ์„œํ™” ๋ฐ ๊ณต์œ 

์ฐธ๊ณ  ์ž๋ฃŒ