gitcommitmessage ๋“ฑ๋กํ•˜๊ธฐ

๐Ÿค™๐Ÿผ ๊ธฐ๋Šฅ๋ณ„๋กœ ์ตœ๋Œ€ํ•œ ์ชผ๊ฐœ์–ด ์งœ๊ธฐ

Commit convention

################
# type, body, footer๋Š” ๊ฐ๊ฐ ๊ณต๋ฐฑ ์ค„๋กœ ํ•œ์นธ์”ฉ ๋„์›Œ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
# 1. Type
# [Skill] type #์ด์Šˆ๋ฒˆํ˜ธ: Subject (๊ณต๋ฐฑ ์ž‘์„ฑ ์‹œ ์ฃผ์˜)
# Ex)[FE] feat #22: ํšŒ์›์ •๋ณด ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€
# Ex)[BE] feat #22: ํšŒ์›์ •๋ณด ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

################
# 1-1. Subject Type
#   - design:  UI์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ
#   - deploy: ๋ฐฐํฌ์™€ ๊ด€๋ จ๋œ ์ปค๋ฐ‹ 
#   - docs: readme.md, json ํŒŒ์ผ ๋“ฑ ์ˆ˜์ •, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (๋ฌธ์„œ ๊ด€๋ จ)
#   - feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„
#   - fix: ์˜ค๋ฅ˜ ์ˆ˜์ •
#   - refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
#   - setting: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•๊ณผ ๊ด€๋ จ๋œ ์ปค๋ฐ‹
#   - style: ์ฝ”๋“œ์— ๋ณ€ํ™”๊ฐ€ ์—†๋Š” ์ˆ˜์ • (์„ธ๋ฏธ์ฝœ๋ก  ๋“ฑ)
#   - test: ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๊ด€๋ จ ์ปค๋ฐ‹
# 1-2. Subject
#   - 50๊ธ€์ž๋ฅผ ๋„˜์ง€ ์•Š๋„๋ก ์ž‘์„ฑ
#   - ๋งˆ์นจํ‘œ ๋ฐ ํŠน์ˆ˜๊ธฐํ˜ธ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
#   - ์ œ๋ชฉ์€ ์™„์ „ํ•œ ์„œ์ˆ ํ˜• ๋ฌธ์žฅ์ด ์•„๋‹ˆ๋ผ, ๊ฐ„๊ฒฐํ•˜๊ณ  ์š”์ ์ ์ธ ์„œ์ˆ ์„ ์œ„ํ•ด ๊ฐœ์กฐ์‹ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉ
################(์•„๋ž˜๋Š” ๊ณต๋ฐฑ ์œ ์ง€ : Type๊ณผ Body์˜ ๊ตฌ๋ถ„)

# 2. Body
# body๋Š” ์ž‘์—… ๋‚ด์šฉ์ด ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ์ƒ์„ธํ•œ ๋‚ด์šฉ์„ ๋‚จ๊ฒจ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ž‘์„ฑ
# Ex) 
# - ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
# - ํšŒ์› ์ •๋ณด ์ˆ˜์ • api ์—ฐ๋™

################
# 2-1. Body ์ž‘์„ฑ ๊ทœ์น™
#   - ๋ณธ๋ฌธ์€ 72์ž ๋‚ด๋กœ ์ž‘์„ฑ
#   - ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ์ค„๋กœ๋„ ์ž‘์„ฑ ๊ฐ€๋Šฅ
#   - ์—ฌ๋Ÿฌ ์ค„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋• "-"๋กœ ๊ตฌ๋ถ„ 
#   - ๋ณ€๊ฒฝ ๋‚ด์šฉ๋ณด๋‹ค ๋ณ€๊ฒฝ ์ด์œ ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.(๋‚˜์ค‘์— ๋ดค์„ ๋•Œ ์ฝ”๋“œ ์ž‘์„ฑ ์ด์œ ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด)
################(์•„๋ž˜๋Š” ๊ณต๋ฐฑ ์œ ์ง€ : Body์™€ Footer์˜ ๊ตฌ๋ถ„)

# 3. Footer
# ์„ ํƒ ์‚ฌํ•ญ์œผ๋กœ ์ฝ”๋“œ ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์ด์Šˆ ๋ฒˆํ˜ธ ๋˜๋Š” ์ฐธ์กฐ ๋งํฌ ๋“ฑ์„ ์ถ”๊ฐ€
# Ex) Fixes: #1 (์˜ต์…˜_์—ฌ๊ธฐ์„  ์ด์Šˆ๋ฒˆํ˜ธ์— []๋ฅผ ์น˜๋ฉด ์•ˆ๋จ, ๋ฐ˜์˜ํ• ๋ ค๋ฉด merge ํ•„์š”)

################
# 3-1. Footer(๊ผฌ๋ฆฌ๋ง) ์ž‘์„ฑ ๊ทœ์น™
#   - ๊ผฌ๋ฆฌ๋ง์€ optional์ด๋ฉฐ ์ด์Šˆ ํŠธ๋ž˜์ปค ID๋ฅผ ์ž‘์„ฑ
#   - ๊ผฌ๋ฆฌ๋ง์€ "์œ ํ˜•: #์ด์Šˆ ๋ฒˆํ˜ธ" ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉ
#   - ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ์ ์„ ๋•Œ๋Š” ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„
# 3-2. ์ด์Šˆ ํŠธ๋ž˜์ปค ์œ ํ˜•
#   - Fixes: ์ด์Šˆ ์ˆ˜์ • ์ค‘(์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)

# ์ตœ์ข… ๋ฉ”์„ธ์ง€ ์˜ˆ์‹œ
# [FE] Feat #1: ํšŒ์›์ •๋ณด ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€ 
# (๊ณต๋ฐฑ ํ•„์ˆ˜)
# - ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€(์˜ต์…˜)
# - ํšŒ์› ์ •๋ณด ์ˆ˜์ • api ์—ฐ๋™(์˜ต์…˜)
# (๊ณต๋ฐฑ ํ•„์ˆ˜)
# Fixes: #1(์˜ต์…˜_์—ฌ๊ธฐ์„  ์ด์Šˆ๋ฒˆํ˜ธ์— []๋ฅผ ์น˜๋ฉด ์•ˆ๋จ, ๋ฐ˜์˜ํ• ๋ ค๋ฉด merge ํ•„์š”)

#################
# ์ฐธ๊ณ ์‚ฌํ•ญ
# - VS์ฝ”๋“œ ์•ˆ์—์„œ ์ปค๋ฐ‹์‹œ ๊ธ€์ž๊ฐ€ ๋ฐ€๋ฆฌ๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ ๊ฒฐ๊ณผ๋ฌผ์—๋Š” ์˜ํ–ฅ์„ ์•ˆ๋ฏธ์นฉ๋‹ˆ๋‹ค.
# - ^M์€ ์ธ์ฝ”๋”ฉ๋ฌธ์ œ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์‹ ๊ฒฝ์•ˆ์“ฐ์…”๋„๋ฉ๋‹ˆ๋‹ค.
#
# ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํ…œํ”Œ๋ฆฟ ์ ์šฉ๋ฐฉ๋ฒ•
# 1. local์—์„œ ๋ช…๋ น์–ด ์ž…๋ ฅํ•˜๊ธฐ
#    `git config --local commit.template .gitmessage.txt`
#
# 2. commit ํ•˜๊ธฐ (vim ๊ธฐ์ค€)
#    - 'git add .'๋ฅผ ํ†ตํ•ด์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ํŒŒ์ผ์„ ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ฆฐ๋‹ค.
#    - 'git commit' ์„ ๋ˆ„๋ฅด๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ์œ„์˜ ํ…œํ”Œ๋ฆฟ์ด ๋‚˜์˜จ๋‹ค.
#    - ํ‚ค๋ณด๋“œ์—์„œ 's'๋ฅผ ๋ˆ„๋ฅด๊ณ  ์ˆ˜์ •ํ•œ ์ดํ›„์— ๋ชจ๋“  ์ปค๋ฐ‹๋ฉ”์„ธ์ง€๋ฅผ ์ž…๋ ฅํ•œ ํ›„, 'esc'๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋น ์ ธ๋‚˜์˜จ๋‹ค.
#    - ':wq'๋ฅผ ๋ˆ„๋ฅด๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ปค๋ฐ‹์ด๋œ๋‹ค.