์ง๊ธ๊น์ง ๊น์ ์ด์ฉํ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ฉด์ ์๋ง์ ์ปค๋ฐ์ ํ์ง๋ง, ์ ์ฅ๋ง ์ํ๋ฉด ๋์ง ๋ญ~ ๋ผ๋ ์๊ฐ์ผ๋ก ์ปค๋ฐ ๋ฉ์์ง ์์ฑ์๋ ํฌ๊ฒ ์ ๊ฒฝ์ฐ์ง ์์๋ค. ๋์ถฉ ์ ์ฒด์ ์ผ๋ก ํฌ๊ด์ ์ธ ๋ฉ์์ง๋ฅผ ์ ๊ฑฐ๋ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ค ์ค ๋ํ์ ์ผ๋ก ๋ฐ๋ ๋ถ๋ถ๋ง ์ ๊ธฐ๋ ํ์๋ค.
ํ์ง๋ง ์ด๋ฒ ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ค๊ฐ์ด ํ๋์ ํ๋ก์ ํธ๋ฅผ ๋ถํ ํ์ฌ ์งํํ๊ณ pushํ๊ฒ ๋๋๊น, ์๋ก๊ฐ ์ด๋ค ๋ถ๋ถ์ ์ด๋ค ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ์์์ผ ํ๋ ์ํฉ์ด ๋์๋ค.
๋ฌผ๋ก ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ์ ํตํด์ ํ์ฌ ์งํ ์ค์ธ ์์ ์ ๊ฐ๋จํ๊ฒ ๊ณต์ ํ๊ณ ์์ง๋ง, ๋ ๊ตฌ์ฒด์ ์ผ๋ก github repo์์ ์ง์ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ด๋ ๋ถ๋ถ์ ์งํํ๋์ง ์ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก git commit message template์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
์ด๋ฒ ๊ธฐํ์ ๊ถ๊ธํ๋ ๋ถ๋ถ๋ค, ๊ทธ๋ฆฌ๊ณ ์ค์ /์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ฒจ๋๋ ค๊ณ ํ๋ค.
๊ทธ๋ฌ๋ฉด ๋์ค์ ๋๊ตฐ๊ฐ(๋ฏธ๋์ ๋ ํฌํจ)๊ฐ ๋ณด๊ณ ํ์ํ ๋ ๋น ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์์ง ์์๊น? ใ
ใ
ใ
1. Code Convention (= Code Style Guide) ์ด๋?
์ฝ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ์ฌ๋๋ค๋ผ๋ฆฌ ์ ํด๋์ ์ฝ๋ฉ ์คํ์ผ ๊ท์ฝ(ํ๋์ ์์ฑ ํ์ค)์ด๋ค.
์ฆ, ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ดค์ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ๊ฐ๋ ์ฑ ์๋ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ์๊ธด ์คํ์ผ ๊ฐ์ด๋ ์ด๋ค.
2. Git Commit Message Convention ์ด๋?
git ์ ์ฌ์ฉํ์ฌ ์ฝ๋์ ๋ฒ์ ์ ๊ด๋ฆฌํ๊ฑฐ๋ ํ์ ๊ด๋ฆฌํ ๋ ์ฌ์ฉ๋๋ commit message ์์ฑ ๋ฐฉ๋ฒ์ ๋ํ ๊ท์น์ด๋ค.
์ด๋ฌํ ์ปจ๋ฒค์ ์ ๋ฐ๋ฅด๋ฉด
์ฝ๋ ๋ณ๊ฒฝ ์ดํ, ํ์ธ์๊ฒ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋ช
ํ ๋ ์ฉ์ดํ๊ณ (๋์ค๋๋ฉด ๋ด๊ฐ ๊ฐ๋ฐํ ์ฝ๋์ฌ๋ ๋ค ๊น๋จน์ผ๋๊น,,)
์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ๊ฑฐ๋ ๋ฒ์ ์ ๋ฐ์ดํธ, ๋ฒ๊ทธ ๋ฐ์์ ๋ฌธ์ ์ถ์ ์ ์ฉ์ดํ๋ค.
์ฆ, ๋ฉ์์ง๋ฅผ ๊ตฌ์กฐํํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ์์ฑํ ์ ์๋๋ก ๋๋ ์ฝ๋ ์คํ์ผ ๊ฐ์ด๋ ์ด๋ค.
(1) Commit message์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ
์ ๋ชฉ(header), ๋ณธ๋ฌธ(body, optional), ๊ผฌ๋ฆฌ๋ง(footer, optional) 3๊ฐ์ง์ ํํธ๋ก ๋๋๋ค.
type : description
body
footer
- ์ ๋ชฉ(header) : [type: description์ ํํ] ํด๋น ์ปค๋ฐ์ ๋ํด ๊ฐ๊ฒฐํ๊ฒ ์ค๋ช
ํ๋ค. 50์ ์ด๋ด๋ก ์์ฑํ๋ค.
- [์ฐธ๊ณ ] VSC editer๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ผ์ชฝ์ git source control์ ์ด์ฉํด์ commit message ์์ฑํ ์ ์๋ค. ์ด๋ ์์ฑ๋ ๋ฉ์์ง๋ ์ค๋ก์ง header๋ก๋ง ์ธ์๋๋ค.
- ๋ณธ๋ฌธ(body, optional) : ์ ๋ชฉ ์ด์ธ์ ์ถ๊ฐ ์ค๋ช ์ด ํ์ํ ๊ฒฝ์ฐ ์์ฑํ๋ค(optional). ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ๋น ์ค(##########)๋ก ๊ตฌ๋ถํ๋ค.
- ๊ผฌ๋ฆฌ๋ง(footer, optional) : ์ปค๋ฐ๊ณผ ๊ด๋ จ๋ ์ด์ ๋ฒํธ, ์ฐธ๊ณ ๋ฑ๊ณผ ๊ฐ์ด ์ถ๊ฐ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ๋ ์ฌ์ฉํ๋ค.
(2) type (in header) ์ ์ข ๋ฅ
type์ ์์ด๋ก ์ด๋ค.
(์ฒซ ๋ฌธ์๋ ๋๋ฌธ์๋ก ํ๋๊ฒ ์์น์ธ ๊ฒ ๊ฐ์๋ฐ, ์ฌ์ค ๋๋ถ๋ถ ์๋ฌธ์๋ก ์จ์ ๋/์๋ฌธ์๋ ์๊ด ์๋ ๋ฏ)
1๏ธโฃ ์ฃผ๋ก ์ฌ์ฉ ํ์ ์ข ๋ฅ
Feat : ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
Fix : ๋ฒ๊ทธ ์์
Docs : ๋ฌธ์ ์์
Style : ์ฝ๋ ํฌ๋งท ๋ณ๊ฒฝ, ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ์์ ์ด ์๋ ๊ฒฝ์ฐ
Refactor : ์ฝ๋ ๋ฆฌํฉํ ๋ง
Test : ํ
์คํธ ์ฝ๋, ๋ฆฌํํ ๋ง ํ
์คํธ ์ฝ๋ ์ถ๊ฐ
Chore : ๋น๋ ์
๋ฌด ์์ , ํจํค์ง ๋งค๋์ ์์
2๏ธโฃ ๊ทธ ์ธ ๊ธฐํ ํ์ ์ข ๋ฅ
Design : UI ๋์์ธ ๋ณ๊ฒฝ
Rename : ํ์ผ/ํด๋ ์ด๋ฆ ์์
Remove : ์ฝ๋/ํ์ผ ์ญ์
(3) description (in header) ์ ๊ท์น
[์์ด๋ก ์์ฑํ๋ ๊ฒฝ์ฐ]
1. 50์ ์ดํ, ๋๋ฌธ์ ์์ฑ, ๋ง์นจํ๋ฅผ ๋ถ์ด์ง ์๋๋ค.
2. ๊ณผ๊ฑฐํ์ ์ฌ์ฉํ์ง ์๊ณ , ๋ช ๋ น์กฐ๋ก ์์ํ๋ค.
์์๋ ์๋์ ๊ฐ๋ค.
# ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
feat(user-auth): implement user login functionality
# ๋ฒ๊ทธ ์์
fix(order-processing): resolve issue with order calculation
# ์ฝ๋ ๋ฆฌํฉํ ๋ง
refactor(api): optimize database query performance
# ํ
์คํธ ๋ณ๊ฒฝ
test(login): add unit tests for user login functionality
[ํ๊ธ๋ก ์์ฑํ๋ ๊ฒฝ์ฐ]
1. 50์ ์ดํ, ๋ง์นจํ๋ฅผ ๋ถ์ด์ง ์๋๋ค.
2. ๊ณผ๊ฑฐํ(ex. '~ํ์ต๋๋ค.')์ ์ฌ์ฉํ์ง ์๊ณ '๋๋ช ์ฌ'๋ก ๋๋ด๋๋ก ํ๋ค.
์์๋ ์๋์ ๊ฐ๋ค.
# ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
feat(user-auth): ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ
# ๋ฒ๊ทธ ์์
fix(order-processing): ์ฃผ๋ฌธ ๊ณ์ฐ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ํด๊ฒฐ
# ์ฝ๋ ๋ฆฌํฉํ ๋ง
refactor(API): ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ์ฑ๋ฅ ์ต์ ํ
# ํ
์คํธ ๋ณ๊ฒฝ
test(login): ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๋ํ ์ ๋ ํ
์คํธ ์ถ๊ฐ
(4) body ์ ๊ท์น
1. ์ ํ์ฌํญ(optional)์ด๋ค. (๊ผญ ์์ฑ ์ํด๋ ๋๋ค.)
2. ๋ถ์ฐ์ค๋ช ์ด ํ์ํ๊ฑฐ๋ ์ปค๋ฐ์ ์ด์ ๋ฅผ ์ค๋ช ํ ๊ฒฝ์ฐ ์์ฑํ๋ฉด ๋๋ค.
3. 72์ ์ด๋ด๋ก ์์ฑํ๋ค.
3. ๋ณธ๋ฌธ ๋ด์ฉ์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํ๋์ง ๋ณด๋ค, "๋ฌด์์" ๋ณ๊ฒฝํ๋์ง ๋๋ "์" ๋ณ๊ฒฝํ๋์ง ๋ฅผ ์ค๋ช ํ๋ค. (์ต๋ํ ์์ธํ ์์ฑ)
4. ์ ๋ชฉ๊ณผ ๊ตฌ๋ถ๋๊ธฐ ์ํด ๊ณต๋ฐฑ ํ ์ค์ ๋์์ ์์ฑํ๋ค.
(5) footer ์ ๊ท์น
1. ์ ํ์ฌํญ(optional)์ด๋ค. (๊ผญ ์์ฑ ์ํด๋ ๋๋ค.)
2. issue tracker id ๋ฅผ ์์ฑํ ๋ "์ ํ: #์ด์๋ฒํธ" ํ์์ผ๋ก ์ฌ์ฉํ๋ค.
3. ์ฌ๋ฌ ๊ฐ์ ์ด์ ๋ฒํธ๋ฅผ ์ ์ ๋๋ ์ผํ(,)๋ก ๊ตฌ๋ถํ๋ค.
[issue tracker ์ ํ์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํ๋ค.]
- Fixes: ์ด์ ์์ ์ค (์์ง ํด๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ)
- Resolves: ์ด์๋ฅผ ํด๊ฒฐํ ๊ฒฝ์ฐ
- Ref: ์ฐธ๊ณ ํ ์ด์๊ฐ ์๋ ๊ฒฝ์ฐ
- Related to: ํด๋น ์ปค๋ฐ๊ณผ ๊ด๋ จ๋ ์ด์๋ฒํธ (์์ง ํด๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ)
โก๏ธ ex) Fixes: #45 Related to: #34, #23
์ฌ๊ธฐ๊น์ง๊ฐ Git commit message convention์ ๋ํด ์์๋ณด์๋ค.๐ง
์ด์ ๋ค์ ํฌ์คํ (https://kkangsg.tistory.com/99)์์
์์ convention์ ๋ฐ๋ฅด๋ Git commit message template ์ ์ฒด๋ฅผ ์ดํด๋ณด๊ณ
global๊ณผ local์ ์ ์ฉํด์ ์์ผ๋ก ๋์ ํ๋ก์ ํธ์ commit message template์ ์ ์ฉํด๋ณด์!๐ฅ
[์ฐธ๊ณ ]
- Git Convension
- Gitmoji ์ฌ์ฉ
- Git commit message template
'๐ฑ Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] git commit message template ์ ์ฉํ๊ธฐ (0) | 2021.09.12 |
---|---|
[Git ๋ช ๋ น์ด ์ ๋ฆฌ] Repository์ add, commit, push, pull ํ๊ธฐ (0) | 2021.07.30 |
[GitHub] Repository์ 'main' branch๋ก push ํ๊ธฐ (5) | 2021.07.10 |