Sam Baek, The Dev's Corner

๐Ÿคํ˜‘์—…์„ ์œ„ํ•œ ์™„๋ฒฝํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ

30 Jun 2023

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ๋„๋Œ€์ฒด ๋ฌด์—‡์ด๊ธธ๋ž˜? (์ปค๋ฐ‹๋ฉ”์‹œ์ง€์˜ ์ค‘์š”์„ฑ๊ณผ ํ˜‘์—…)


git์„ ์“ฐ๋‹ค๋ณด๋ฉด ์ˆ˜์—†์ด ๋งŽ์€ commit ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋‚˜์˜ ๋ชจ์Šต์„ ๋งˆ์ฃผํ•  ์ˆ˜ ์žˆ๋‹ค.
์ œ์ผ ์ฒ˜์Œ git์„ ์ ‘ํ•˜๊ณ  ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ €์žฅ์†Œ์— commitํ•˜๋…ธ๋ผ๋ฉด ๋ฌด์Šจ ๋ง์„ ์ ์–ด์•ผํ• ์ง€ ๊ทธ์ € ๋‚œ๊ฐํ• ๋ฟ์ด๋‹ค.
๊ทธ๋‚˜๋งˆ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•˜๋ฉด ์กฐ๊ธˆ์ด๋ผ๋„ ๋” ์ˆ˜์›”ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์ง€๋งŒ, ์˜์–ด๊ฐ€ ์–ด์ƒ‰ํ•œ ํ•„์ž๋Š” ์ฝ”๋“œ๋ฅผ ๋งˆ์ฃผํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์„œ์šดํ•˜๋‹ค.
commit์„ ํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  git์„ ์‚ฌ์šฉํ•˜๋ฉฐ github๋ฅผ ๋ฐฉ๋ฌธํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋Š˜์–ด๊ฐˆ์ˆ˜๋ก,
commit ๋ฉ”์‹œ์ง€ ์ฐฝ ์•ž์—์„œ ๋” ์˜ค๋žœ ์‹œ๊ฐ„์„ ๋ณด๋‚ผ ์ˆ˜ ๋ฐ–์— ์—†๋Š”๊ฑด ์™œ์ผ๊นŒ.
์ฒ˜์Œ ๊ฒฝํ—˜ํ•œ ํŒ€ํ”„๋กœ์ ํŠธ ์ดํ›„ commit ๋ฉ”์‹œ์ง€์— ํ•œ ์ž ํ•œ ์ž๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์–ด์•ผํ• ์ง€ ๊ณ ๋ฏผํ•˜๊ณ , ๊ณต๋ถ€ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋Š˜์—ˆ๋‹ค.

๋ณธ๋ž˜ Git์€ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž๊ฐ€ Git์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ , ์ž‘์—…์„ ๊ณต์œ ํ•˜๊ณ  ํ˜‘์—…ํ•จ์— ์žˆ์„ ๊ฒƒ์ด๋‹ค.
๊ทธ์— ๋”ฐ๋ผ commit ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ด์œ ๋„ ํ•จ๊ป˜ ์‚ดํŽด๋ด์•ผ ํ•œ๋‹ค.

์•ž์„œ ๋ณธ Git์˜ ์‚ฌ์šฉ ๋ชฉ์ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์€ commit ๋ฉ”์‹œ์ง€๋‹ค.
๊ฐœ๋ฐœ์ž๋Š” ๊ณผ๊ฑฐ์˜ commit ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
commitํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹น์‹œ ์–ด๋–ค ์ˆ˜์ •์„ ํ–ˆ๋Š”์ง€, ์™œ ๊ทธ๋Ÿฐ ์ˆ˜์ •์„ ํ–ˆ๋Š”์ง€ ๋งŒ์•ฝ commit ๋ฉ”์‹œ์ง€์— ๋‚ด์šฉ์„ ๋‚จ๊ฒผ๋‹ค๋ฉด
๋…์ž๋กœ ํ•˜์—ฌ๊ธˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก , ๋‹น์‚ฌ์ž๋„ ํฌํ•จํ•ด์„œ๋ง์ด๋‹ค.

์˜ˆ์ปจ๋Œ€, ํ—จ์ ค๊ณผ ๊ทธ๋ ˆํ…” ๊ฐ™์€ ๊ฒƒ์ด๋‹ค.
ํ˜๋ ค๋†“์€ ๋นต ์กฐ๊ฐ๋“ค์ด ์ง€๋‚˜๊ฐ„ ๊ธธ์„ ์•ˆ๋‚ดํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์‹ฌ์ง€์–ด ๋นต์— ๋‹น์‹œ ์ƒํ™ฉ์ด ๊ตฌ์ฒด์ ์œผ๋กœ ์ ํ˜€์žˆ๊ณ ,
๊ทธ ๋‹น์‹œ๋กœ ๋˜๋Œ์•„๊ฐˆ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์—์„  ๋™ํ™”๋ณด๋‹ค๋„ ๋” ๋™ํ™”๊ฐ™์ง€๋งŒ ๋ง์ด๋‹ค.

๋ฐฉ๊ธˆ ๋งํ•œ ๋‹น์‹œ๋กœ ๋˜๋Œ์•„๊ฐ„๋‹ค๋Š” ๊ฒƒ์ด โ€˜๋กค๋ฐฑโ€™์„ ์˜๋ฏธํ•œ๋‹ค.
commit ๋ฉ”์‹œ์ง€๋Š” ์ด๋ ฅ์„ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ ฅ๋งŒ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•ด๋‹น ์ด๋ ฅ์˜ ์‹œ์ ์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” โ€˜๋กค๋ฐฑโ€™
์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฐœ์ „ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋Š˜ ๊ธ์ •์ ์ธ ๋ฐฉํ–ฅ์ด๋‚˜ ๊ฒฐ๊ณผ๋งŒ์„ ์˜๋ฏธํ•˜์ง„ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ—จ์ ค๊ณผ ๊ทธ๋ ˆํ…”์˜ ์–˜๊ธฐ๊ฐ€ ๋‚˜์™€์„œ ๋ง์ด์ง€๋งŒ, ํ—จ์ ค๊ณผ ๊ทธ๋ ˆํ…”์€ ๋นต ์กฐ๊ฐ์„ ํ†ตํ•ด ๋ณธ์ธ๋“ค์˜ ์œ„์น˜๋ฅผ ๊ณต๊ฐœํ–ˆ๋‹ค.
commit ๋ฉ”์‹œ์ง€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ํ”„๋ผ์ด๋น—์ด ์•„๋‹Œ ํผ๋ธ”๋ฆญ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ๋ผ๋ฉด ์ฐธ์—ฌํ•œ ๋ชจ๋“  ์ด์—๊ฒŒ commit ๋ฉ”์‹œ์ง€๊ฐ€ ๊ณต์œ ๋œ๋‹ค.
์ง€๋‚˜์˜จ ํ”์ ์„ ๊ณต๊ฐœํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ณ€๊ฒฝํ•œ ์ด๋ ฅ์„ ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Š” ํ”„๋กœ์ ํŠธ์˜ ํˆฌ๋ช…์„ฑ์„ ์ œ๊ณตํ•˜๊ณ  ํ˜‘์—…๊ณผ ๋ฆฌ๋ทฐ์˜ ๊ณผ์ •์—์„œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
๋˜ํ•œ, ๋ณธ์ธ์ด ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชฉ์ ์„ฑ๊ณผ ๊ฐ€์น˜๋ฅผ commit ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด์„œ ์ง, ๊ฐ„์ ‘์ ์œผ๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
๋นต ์กฐ๊ฐ์„ ํ†ตํ•ด ๊ฐ€๊ณ  ์žˆ๋Š” ๊ธธ์ด ๋ณด์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, commit ๋ฉ”์‹œ์ง€์˜ ์ด๋ ฅ๋“ค์€ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์ด๋‚˜ ๋ชฉ์ , ๊ฐ€์น˜๋ฅผ
์ถฉ๋ถ„ํžˆ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๊ณ , ๋ฉ”์‹œ์ง€ ์•ˆ์— ์ ๋Š” ๋‚ด์šฉ์ด ์–ด๋–ค ๊ฐ€์น˜๊ด€์„ ๋‹ด๊ณ  ์ˆ˜์ •ํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ตœ์ ํ™”


commit ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•จ์— ์žˆ์–ด โ€˜์–ด๋–ค ๊ฒƒ๋งŒ์ด ์ •๋‹ต์ด๋‹คโ€™๋Š” ๋ถ„๋ช…ํžˆ ์—†๊ฒ ์ง€๋งŒ,
์œ ์ตํ•œ commit ๋ฉ”์‹œ์ง€๋Š” ๋ถ„๋ช…ํžˆ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์œ ์ตํ•œ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๋„๋กํ•˜์ž. ๋ฌผ๋ก  ์˜์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ณ ๋ฏผํ•ด๋ดค๋‹ค.

  1. ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ ์‚ฌ์ด์—๋Š” ๊ณต๋ฐฑ์ด ํ•œ ์ค„ ๋“ค์–ด๊ฐ„๋‹ค.
    ์ œ๋ชฉ 1์ค„ + ๊ณต๋ฐฑ 1์ค„ + ๋ณธ๋ฌธ n์ค„

docs: Add user registraition feature

Implement user registration from and backend logic. Validate user inputs and store data in the databases. Add registration success page.

๋ชจ๋“  ๊ฒฝ์šฐ์— ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•ด์•ผํ•  ํ•„์š”๋Š” ์—†๋‹ค.
๊ฐ€๋ น ์˜คํƒ€๊ฐ€ ๋‚˜์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜, ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•ด ๊ฐ„๋‹จํ•œ ์ˆ˜์ • ํ›„ commitํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์–ด
์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—” ์˜คํžˆ๋ ค ํ•œ ๋ฌธ์žฅ์œผ๋กœ commit ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š”๊ฒŒ ๋” ํšจ์œจ์ ์ด๊ธฐ๋„ ํ•˜๋‹ค.
๋˜ํ•œ, ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ด ๊ฐ•์ œ ๊ตฌ์„ฑ์‚ฌํ•ญ๋„ ์•„๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ์•ž์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ๊ตฌ์„ฑํ•˜๊ณ , ์‚ฌ์ด์— ๊ณต๋ฐฑ์„ ๋„ฃ์–ด์ฃผ๋ฉด ์ƒ๋‹นํžˆ ์œ ์ตํ•˜๋‹ค.
์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ์„ ํ•˜๋ฉด, $ git log โ€“oneline ์ด ์ œ๋ชฉ๋งŒ ๋ณด์—ฌ์ค€๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

$ git log --online
docs: Add user registraition feature
  1. ์ œ๋ชฉ์€ 50์ž ์ด๋‚ด๋กœ ์ž‘์„ฑํ•œ๋‹ค.

โ€˜์ด๋‚ดโ€™๋ผ๋Š” ๋ง์ด ๋ฐ˜๊ฐ‘๋‹ค. ์˜์–ด๋กœ 50์ž ์ด์ƒ์„ ์ œ๋ชฉ์œผ๋กœ๋งŒ ์ ์œผ๋ผ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค๋ฉด ์ƒ์ƒ์ด์ƒ์œผ๋กœ commit ์ž์ฒด๊ฐ€ ๊ณ ์—ญ์ด์—ˆ์„ ๊ฒƒ์ด๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์—, ์ด๋‚ด๋กœ ์ ์œผ๋ผ๋Š” ๋ง์€ ์งง๊ณ  ๊ตต๊ฒŒ ํ‘œํ˜„ํ•˜๋ผ๋Š” ์˜๋ฏธ๋ผ ์–ด์ฉŒ๋ฉด 50์ž๊ฐ€ ์งง๊ฒŒ ๋А๊ปด์ง€๊ธฐ๋„ ํ•œ๋‹ค.
์ œ๋ชฉ์„ ์ ๋Š”๋‹ค๋Š” ๊ฒƒ์€ ์žฅํ™ฉํ•˜๊ฒŒ ํ’€์–ด์„œ ๋ณด์—ฌ์ค„ ํ•„์š”๋Š” ์—†์ง€๋งŒ, ์ œ๋ชฉ์— ํ•ต์‹ฌ์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋„๋ก
๋งค commit๋งˆ๋‹ค ๊นŠ์€ ๊ณ ๋ฏผ์œผ๋กœ ์—ฐ์Šตํ•ด๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค.

  1. ํƒ€์ž…์„ ํ‘œ์‹œํ•˜๊ณ , ์ œ๋ชฉ์˜ ์ฒซ ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ ๋Š”๋‹ค.
    ํƒ€์ž…(Type): ์ œ๋ชฉ

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ์—๋Š” ํƒ€์ž… ๋ผ๋ฒจ์„ ๋งจ ์•ž์— ๋ถ™์—ฌ ์ž‘์„ฑํ•ด ์–ด๋–ค ์ˆ˜์ •์ด ์ด๋ค„์กŒ๋Š”์ง€ ๊ฐ€์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

Type ๋‚ด์šฉ
feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
fix ๋ฒ„๊ทธ ์ˆ˜์ •
docs ๋ฌธ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€
styles ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝ, ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ(๊ณต๋ฐฑ, ์„œ์‹, ์„ธ๋ฏธ์ฝœ๋ก  ๋“ฑ)
refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง
test ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •, ํ…Œ์ŠคํŠธ ๋ฆฌํŽ™ํ„ฐ๋ง
chore ๋นŒ๋“œ ์ž‘์—…, ๋นŒ๋“œ ํ…Œ์Šคํฌ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋“ฑ
ci CI/CD ์„ค์ • ๋ณ€๊ฒฝ
  1. ์ œ๋ชฉ ๋์—๋Š” . ์„ ์ฐ์ง€ ์•Š๋Š”๋‹ค.
    ์ œ๋ชฉ์ด๋ผ ์ฐ์ง€ ์•Š๋Š”๋‹ค.

  1. ์ œ๋ชฉ์€ ๊ณผ๊ฑฐ์‹œ์ œ๊ฐ€ ์•„๋‹Œ ๋ช…๋ น์–ด๋กœ ์ž‘์„ฑํ•œ๋‹ค.

commit ๋ฉ”์‹œ์ง€์˜ ์ œ๋ชฉ์„ ๊ณผ๊ฑฐ์‹œ์ œ๊ฐ€ ์•„๋‹Œ ๋ช…๋ น์–ด๋กœ ์ ๋Š” ์ด์œ ๋Š” git์˜ Built-in-Convention์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด๋‹ค.
์™œ๋ƒํ•˜๋ฉด git์€ ์ž๋™์œผ๋กœ ์ปค๋ฐ‹ํ•  ๋•Œ ์Šค์Šค๋กœ ๋ช…๋ น๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ commitํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด์ฒ˜๋Ÿผ ๊ณผ๊ฑฐ์‹œ์ œ๊ฐ€ ์•„๋‹Œ ๋ช…๋ น์–ด๋กœ ์ œ๋ชฉ์„ ์ž‘์„ฑํ•ด๋‘๋ฉด ์ž๋™ ๋ฉ”์‹œ์ง€ ์‚ฌ์ด์— ์œ„์น˜ํ•œ commit์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด์–ด์ง„๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ณธ๋ฌธ์€ ๊ผญ ์ด ๊ทœ์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š์•„๋„ ๊ดœ์ฐฎ๋‹ค.
์ œ๋ชฉ์—์„œ ๋ชป๋‹คํ•œ ์–˜๊ธฐ๋ฅผ ๋ณธ๋ฌธ์—์„œ ์ž์œ ๋กญ๊ฒŒ ํ•˜๋ฉด ์–ด๋–จ๊นŒ์‹ถ๋‹ค.

  1. ๋ณธ๋ฌธ์€ 72์ž ๊ธฐ์ค€์œผ๋กœ ์ค„ ๋ฐ”๊พธ๊ธฐ

๋ณธ๋ฌธ์„ ์ž์œ ๋กญ๊ฒŒ ์ ์œผ๋ฉด ์ข‹๋‹ค๊ณ  ๋ฐฉ๊ธˆ ์–˜๊ธฐํ–ˆ์ง€๋งŒ, ์ค„๋ฐ”๊ฟˆ์„ ํ•ด์ฃผ๋ฉด ๊น”๋”ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ์—ฐ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฌผ๋ก  git log ์Šคํƒ€์ผ์„ ์ง€์ •ํ–ˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ์ด ์ ์šฉ๋ผ ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•˜์ง€๋งŒ, git log๋งŒ ์ž…๋ ฅํ•ด์„œ๋Š” ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

  1. ๋ฌด์—‡๊ณผ ์™œ์— ์ง‘์ค‘ํ•ด ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค.

์–ด๋–ค ๋ณ€ํ™”๋ฅผ ์ฃผ์—ˆ๋Š”์ง€๋Š” ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ ์ž์ฒด๋กœ ์„ค๋ช…์ด ๋˜๊ฑฐ๋‚˜ ์ œ๋ชฉ์œผ๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ฒ˜์Œ commit ๋ฉ”์‹œ์ง€์˜ ๋ชฉ์ ์ฒ˜๋Ÿผ ๋ฌด์—‡์„, ์™œ ๋ณ€ํ™”ํ–ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด์•ผ ๋‹น์‹ ๊ณผ ํ˜‘์—…ํ•˜๋Š” ๋‹น์‹ ์—๊ฒŒ
์ถฉ๋ถ„ํžˆ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ•ญ์ƒ ๊ธฐ์–ตํ•ด์•ผ ํ•œ๋‹ค.

git์€ ํ•˜์œ„ ๋ช…๋ น์–ด๊ฐ€ ๋งŽ์€๋งŒํผ ์ปค๋งจ๋“œ๋ผ์ธ์„ ์ˆ˜์šฉํ•˜๋Š” ๊ฒƒ์ด ํ˜„๋ช…ํ•˜๋‹ค. ์ถฉ๋ถ„ํžˆ ์ˆ™์ง€ํ•˜๊ณ  ์‚ฌ์šฉํ•˜์ž.

์ปค๋ฐ‹์˜ ์œ ํ˜•๊ณผ ํ‚ค์›Œ๋“œ ํ™œ์šฉ


์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•จ์— ์žˆ์–ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์œ ํ˜•(Type)๊ณผ ํ‚ค์›Œ๋“œ(Keyword)๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค.
์™œ๋ƒํ•˜๋ฉด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์œ ํ˜•๊ณผ ํ‚ค์›Œ๋“œ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  ์ž์‹ ์˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์•„๋ž˜๋Š” ์ผ๋ฐ˜์ ์ธ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์˜ ์œ ํ˜•๊ณผ ํ‚ค์›Œ๋“œ๋‹ค.

์œ ํ˜• (TYPE) ย 
Type ๋‚ด์šฉ
feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
fix ๋ฒ„๊ทธ ์ˆ˜์ •
docs ๋ฌธ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€
styles ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝ, ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ(๊ณต๋ฐฑ, ์„œ์‹, ์„ธ๋ฏธ์ฝœ๋ก  ๋“ฑ)
refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง
test ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •, ํ…Œ์ŠคํŠธ ๋ฆฌํŽ™ํ„ฐ๋ง
chore ๋นŒ๋“œ ์ž‘์—…, ๋นŒ๋“œ ํ…Œ์Šคํฌ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋“ฑ
ci CI/CD ์„ค์ • ๋ณ€๊ฒฝ

ํ‚ค์›Œ๋“œ (KEYWORD) ย 
Keyword ๋‚ด์šฉ
Add ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ํŒŒ์ผ, ์˜์กด์„ฑ ๋“ฑ ์ถ”๊ฐ€
Update ๊ธฐ์กด ๊ธฐ๋Šฅ ์ˆ˜์ •, ์—…๋ฐ์ดํŠธ, ๊ฐœ์„ 
Remove ํŒŒ์ผ, ์ฝ”๋“œ, ๊ธฐ๋Šฅ ๋“ฑ ์‚ญ์ œ
Fix ๋ฒ„๊ทธ ์ˆ˜์ •
Refactor ์ฝ”๋“œ ๋˜๋Š” ๋ฆฌ์†Œ์Šค์˜ ์ตœ์ ํ™”
Optimize ํŒŒ์ผ, ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ์˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ
Rename ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ
Revert ์ด์ „ ์ปค๋ฐ‹์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ

์ž‘์„ฑ ์˜ˆ์‹œ

feat: Add user authentication functionality

์ปค๋ฐ‹ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ํŒ€ ํ˜‘์—…


๊ฒฐ๊ตญ ์ง€๊ธˆ ์ด ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ ๊ฐ€์žฅ ํฐ ์ด์œ ๊ฐ€ ์—ฌ๊ธฐ ์žˆ์ง€ ์•Š์„๊นŒ์‹ถ๋‹ค.
์‚ฌ์‹ค, ์ด์ „๊นŒ์ง€ ๋‹ค๋ฅธ ์ง์—…์—์„œ๋‚˜ ํ˜น์€ ์•„์ฃผ ์‚ฌ์†Œํ•œ ํ˜‘์—…์กฐ์ฐจ ๊ฒฝํ—˜ํ•ด๋ณด์ง€ ๋ชปํ–ˆ์„ ๋‹น์‹œ์—” commit์˜ ์ค‘์š”์„ฑ์„ ์ „ํ˜€ ์•Œ์ง€ ๋ชปํ–ˆ๋‹ค
commit ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ํŒ€ ํ˜‘์—…์€ ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ๊ณผ ๊ด€๋ฆฌ๋ฅผ ์›ํ• ํ•˜๊ฒŒ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ง์ด์ง€ ์ค‘์š”ํ•œ ์š”์†Œ์ธ๋ฐ
๊ทธ ์ด์œ ๋ฅผ ์ •๋ฆฌํ•ด๋‘๋Š” ๊ฒƒ์ด ์•ž์œผ๋กœ commit์„ ์ž‘์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•จ์— ์žˆ์–ด ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

commit์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋“ค์€ ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ commit์€ ํŠน์ • ์ž‘์—… ๋˜๋Š” ์ˆ˜์ •์„ ๋Œ€ํ‘œํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋“ค์€ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํŒŒ์•…ํ•˜๊ณ  ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ์ฐจ์ด์ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
commit ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ณ  ๋‹ค๋ฅธ ํŒ€์›๊ณผ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช…ํ™•ํ•˜๊ณ  ์˜๋ฏธ ์žˆ๋Š” commit ๋ฉ”์‹œ์ง€๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ๊ฒ€ํ† ํ•˜๋Š”๋ฐ ๋„์šฐ๋ฉฐ ํ˜‘์—… ๊ณผ์ •์—์„œ ์˜คํ•ด์™€ ํ˜ผ๋™์„ ์ค„์ธ๋‹ค.
commit์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋Š” ํŒ€์˜ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ปค๋ฐ‹๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ณ , ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ, ๊ฐ€๋…์„ฑ, ํšจ์œจ์„ฑ ๋“ฑ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋™์‹œ์— ์ž‘์—…ํ•  ๋•Œ ์ปค๋ฐ‹์„ ํ†ตํ•ด ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. commit์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ์™€ ๋ณ‘ํ•ฉ์€ ํšจ์œจ์ ์ธ ํ˜‘์—…๊ณผ ์ฝ”๋“œ ํ†ตํ•ฉ์„ ์ง€์›ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
commit์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ์ด์ „ ์ƒํƒœ๋กœ ์‰ฝ๊ฒŒ ๋กค๋ฐฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ด์ „ ์ž‘์—… ๋‚ด์šฉ์œผ๋กœ ๋ณต๊ตฌํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ „์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ์œ ์ง€ํ•˜๋Š”๋ฐ ๋•๋Š”๋‹ค.