Post

[Git] 2. Git ์ปจ๋ฒค์…˜

๐Ÿš€ Git Commit Convention


๊ธฐ๋ณธ ํ˜•์‹

1
2
3
4
5
<type>(scope)?: <subject>

<body>

<footer>
  • type: ์ปค๋ฐ‹์˜ ๋ชฉ์ 
  • scope: (์„ ํƒ์‚ฌํ•ญ) ์–ด๋–ค ๋ชจ๋“ˆ/๊ธฐ๋Šฅ/๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ปค๋ฐ‹์ธ์ง€
  • subject: ํ•œ ์ค„ ์ œ๋ชฉ (๋ช…๋ นํ˜•)
  • body: (์„ ํƒ์‚ฌํ•ญ) ์ž‘์—…ํ•œ ์ƒ์„ธ ๋‚ด์šฉ
  • footer: (์„ ํƒ์‚ฌํ•ญ) ๊ด€๋ จ ์ด์Šˆ๋‚˜ ์ฐธ๊ณ ์‚ฌํ•ญ
ํƒ€์ž…์„ค๋ช…์˜ˆ์‹œ
feat์ƒˆ๋กœ์šด ๊ธฐ๋Šฅfeat: ๋Œ“๊ธ€ ์ž‘์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
fix๋ฒ„๊ทธ ์ˆ˜์ •fix: ๋กœ๊ทธ์ธ ์‹œ 500 ์—๋Ÿฌ ํ•ด๊ฒฐ
docs๋ฌธ์„œ ๋ณ€๊ฒฝdocs: README์— API ์„ค๋ช… ์ถ”๊ฐ€
style์ฝ”๋“œ ํฌ๋งท, ์„ธ๋ฏธ์ฝœ๋ก , ๊ณต๋ฐฑstyle: Prettier ์ ์šฉ
refactor๋ฆฌํŒฉํ† ๋งrefactor: ๋กœ๊ทธ์ธ ๋กœ์ง ํ•จ์ˆ˜ ๋ถ„๋ฆฌ
perf์„ฑ๋Šฅ ๊ฐœ์„ perf: ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์ตœ์ ํ™”
testํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€/์ˆ˜์ •test: ํšŒ์›๊ฐ€์ž… ์œ ๋‹› ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€
chore๋นŒ๋“œ/ํˆด ๊ด€๋ จchore: eslint ์„ค์ • ๋ณ€๊ฒฝ
ciCI ๊ด€๋ จ ์ž‘์—…ci: GitHub Actions ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€
build๋นŒ๋“œ ๊ด€๋ จbuild: production ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€
revert์ปค๋ฐ‹ ๋˜๋Œ๋ฆฌ๊ธฐrevert: feat: ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ทจ์†Œ

์˜ˆ์ œ

  1. ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    1
    2
    3
    4
    
     feat(auth): ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    
     - Firebase Auth ์—ฐ๋™
     - ๋กœ๊ทธ์ธ ํผ ์ƒํƒœ ๊ด€๋ฆฌ
    
  2. ๋ฒ„๊ทธ ์ˆ˜์ •

    1
    2
    3
    
     fix(comment): ๋Œ“๊ธ€ ์ค‘๋ณต ๋“ฑ๋ก ๋ฒ„๊ทธ ์ˆ˜์ •
    
     - setTimeout์„ ์ด์šฉํ•ด ์ค‘๋ณต ํด๋ฆญ ๋ฐฉ์ง€
    
  3. ๋ฌธ์„œ ์ˆ˜์ •

    1
    
     docs: README ์‚ฌ์šฉ๋ฒ• ์„น์…˜ ์ถ”๊ฐ€
    
  4. ๋ฆฌํŒฉํ† ๋ง

    1
    2
    3
    
     refactor(user): ์œ ์ € ์ƒํƒœ ๊ด€๋ฆฌ ๋กœ์ง ๊ฐœ์„ 
    
     - useReducer๋กœ ๋กœ์ง ๋‹จ์ˆœํ™”
    
  5. ์ด์Šˆ ํŠธ๋ž˜ํ‚น

    • Closes #์ด์Šˆ๋ฒˆํ˜ธ (์ด์Šˆ ๋‹ซ์Œ)
    • Fixes #์ด์Šˆ๋ฒˆํ˜ธ (์ด์Šˆ ์ˆ˜์ •์ค‘)
    • Resolves #์ด์Šˆ๋ฒˆํ˜ธ1, #์ด์Šˆ๋ฒˆํ˜ธ2 (์ด์Šˆ1,2 ํ•ด๊ฒฐ)
    • Ref #์ด์Šˆ๋ฒˆํ˜ธ (์ฐธ๊ณ ํ•  ์ด์Šˆ)
    • Related to #์ด์Šˆ๋ฒˆํ˜ธ (์ด์Šˆ์™€ ๊ด€๋ จ๋จ)
    1
    2
    3
    4
    5
    
     feat: api ์ถ”๊ฐ€
    
     ๋กœ๊ทธ์ธ API ๊ฐœ๋ฐœ
    
     Resolves #123
    

๐Ÿš€ Git Branch Convention


๊ธฐ๋ณธ ํ˜•์‹

1
<type>/<issue|feature-name>

๋ธŒ๋žœ์น˜๋ช… ๊ทœ์น™

  • ๋„์–ด์“ฐ๊ธฐ๋Š” ํ•˜์ดํ”ˆ(-)์œผ๋กœ ๋Œ€์ฒด
  • ํ•„์š”ํ•˜๋ฉด ์ด์Šˆ๋ฒˆํ˜ธ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ (ex. feat/123-login-page)
  • ๋ธŒ๋žœ์น˜๋Š” ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ

์˜ˆ์ œ

  • ๊ธฐ๋Šฅ
    • feat/login-page
    • feat/user-profile
  • ๋ฒ„๊ทธ ์ˆ˜์ •
    • fix/comment-duplication
  • ๋ฆฌํŒฉํ† ๋ง
    • refactor/auth-flow
  • ๋ฌธ์„œ
    • docs/readme-update
  • ์ž‘์—… ๊ตฌ๋ถ„ + ์ด์Šˆ๋ฒˆํ˜ธ
    • feat/456-new-payment-api

๐Ÿš€ Github PR Convention


PR ์ œ๋ชฉ

1
2
3
[feat] ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ UI ๊ตฌํ˜„
[fix] ๋Œ“๊ธ€ ์ค‘๋ณต ๋“ฑ๋ก ์ด์Šˆ ํ•ด๊ฒฐ
[docs] CONTRIBUTING ๊ฐ€์ด๋“œ ์ถ”๊ฐ€

PR ๋ณธ๋ฌธ

๋ณธ๋ฌธ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ํฌํ•จํ•˜๋ฉด ๐Ÿ‘

  1. ์ž‘์—… ๋‚ด์šฉ ์š”์•ฝ
  2. ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ
  3. ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ• (UI, API ๋“ฑ)
  4. ์ฐธ๊ณ  ์‚ฌํ•ญ (๊ด€๋ จ ์ด์Šˆ, ๋””์ž์ธ ๋งํฌ ๋“ฑ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## ์ž‘์—… ๋‚ด์šฉ
- ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ UI ๊ตฌ์„ฑ
- ๋กœ๊ทธ์ธ ํผ ์ปดํฌ๋„ŒํŠธ ์ž‘์„ฑ
- ๋กœ๊ทธ์ธ ์‹œ๋„ ์‹œ ์ž…๋ ฅ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

## ์ฃผ์š” ๋ณ€๊ฒฝ์‚ฌํ•ญ
- src/pages/LoginPage.tsx
- src/components/LoginForm.tsx

## ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•
- npm run dev๋กœ ๋กœ์ปฌ ์„œ๋ฒ„ ์‹คํ–‰ ํ›„ `/login` ํŽ˜์ด์ง€ ์ ‘๊ทผ
- ์ด๋ฉ”์ผ/๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ํ›„ ์ฝ˜์†”๋กœ ๊ฐ’ ํ™•์ธ

## ์ฐธ๊ณ  ์‚ฌํ•ญ
- ๋กœ๊ทธ์ธ API ์—ฐ๋™์€ ์ถ”ํ›„ PR์—์„œ ์ง„ํ–‰ ์˜ˆ์ •
- ๊ด€๋ จ ์ด์Šˆ: #123

ยฉ Hoon. Some rights reserved.