-
Notifications
You must be signed in to change notification settings - Fork 1
Git ์ ๋ต
git flow(์ฐธ๊ณ ๋งํฌ), github flow(์ฐธ๊ณ ๋งํฌ), gitlab flow
-
์ ์
- ๋ง์คํฐ ๋ธ๋์น๋ ๋ฐฐํฌ ๊ฐ๋ฅํ ๋ธ๋์น์ด๋ค.
- ์๋ก์ด ์์ ์ ํ๊ธฐ ์ํด ํด๋น ์์ ์ master๋ก๋ถํฐ ๋ธ๋์น๋ฅผ ์์ฑํ๋ค. (i.e new-oauth2)
- ๋ก์ปฌ ๋ธ๋์น์์ ์ปค๋ฐ ํ ์ ๊ธฐ์ ์ผ๋ก origin ์ pushํ๋ค.
- ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ฑฐ๋ ๋จธ์งํ ์ค๋น๊ฐ ๋๋ฉด p-r์ ์ฐ๋ค.
- ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ณ master ๋ก ํธ์ฌ๋๋ฉด, ์ฆ์ ๋ฐฐํฌํ๋ค.
GIt-flow, GitLab-flow, Github-flow๋?
๐ก Git flow๋ฅผ ์ ํํ์ง ์์ ์ด์
- git flow๋ ๊ฐ๋ฐ๊ณผ ํ ์คํธ, ๋ฆด๋ฆฌ์ฆ ๋ฑ์ ๋์์ ์งํํ๋ฉด์ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ธ๋์น ์ ๋ต์ด๋ค.
- ํ์ฌ ์๋น์ค๊ฐ ๋ฐฐํฌ๋์ด ์์ง ์๊ณ ๋ณ๋์ ํ(์๋ฅผ ๋ค์ด QAํ)์์ ํ ์คํธ๋ฅผ ์งํํ๊ฑฐ๋ ํ์ง ์๋๋ฐ, git flow๋ฅผ ์จ์ผํ ๊น?
๐ก ๊ทธ๋ ๋ค๋ฉด Github Flow๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋?
- ๋ธ๋์น ์ ๋ต์ด ๋จ์ํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ฑ์ด ๋์ ๊ฑฐ๋ผ๊ณ ํ๋จํ๋ค.
- Main ๋ธ๋์น๋ฅผ ๊น๋ํ๊ฒ ์ ์งํด์ผํ๋ ์ ๋ต์ด๊ธฐ ๋๋ฌธ์ PR์ ๋ ๋ฆด ๋๋ง๋ค ์ฝ๋ ๋ฆฌ๋ทฐ๊ฐ ๊ฐ์ ํ ์ ์๋ค.
- ํด๋น ํ๋ก์ ํธ๊ฐ ์๋น์ค๋ก ์ ์ฐฉ๋๊ณ ๋์ git flow๋ฅผ ์ ์ฉํด๋ ๊ด์ฐฎ์ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค.
-
Main๋ธ๋์น๋ฅผ ์ ๋ง ๊น๋ํ๊ฒ ์ ์งํด์ผํ๋ค.
- PR, ์ฝ๋๋ฆฌ๋ทฐ ์ ๊ฒฝ์ฐ๊ธฐ
- ESLint๋ก console.log() ์ ์ผ๋ฉด ๊ฒฝ๊ณ ๋จ๊ฒ ๋ง๋ค๊ธฐ
-
front์ back
- ์ด์๋ฅผ ๋ฐฑ์๋ ํ๋ก ํธ์๋ ๋๋ ์ ์์ธํ๊ฒ ์์ฑํ๋ค.
- ์ด์ ๋๋ฒ๋ฅผ ๋ธ๋์น๋ช ์์ ๋ถ์์ผ๋ก์จ ๊ตฌ๋ถํ ์ ์๋ค.
-
branch ๊ตฌ์กฐ
-
main- ๋ฐฐํฌ์ฉ. ์ต์๋จ ๋ธ๋์น -
develop- ๊ฐ๋ฐ ํตํฉ์ฉ -
feature/*- ๊ฐ๋ฐ ํผ์ณ๋ณ ๋ธ๋์น -
fix/*- ๋ฒ๊ทธ ์์ ํผ์ณ๋ณ ๋ธ๋์น -
refactor/*- ๋ฆฌํฉํ ๋ง ๋ธ๋์น
-

1. develop โ [feature | fix | refactor]/${issueNumber}-${๊ธฐ๋ฅ์ด๋ฆ} โ pr โ develop
2. main -> develop -> main
ex) feature/50-login, fix/51-login-error
(feature|fix|refactor)/<Issue#>-<Name>- ์ด์๋๋ ๋ ๋ฐฑ์๋, ํ๋ก ํธ ๋๋ ์ ์ด์๋ฅผ ์์ฑํด์ผ ํ๋ค.
- ์ด์์ ๊ด๋ จ์ง์ด ์์ด๋ก ๋ค์ด๋ฐํ๋ค.
| ์ปค๋ฐ ํ์ | ์ค๋ช |
|---|---|
| feature | ์ ๊ธฐ๋ฅ |
| refactor | ๋ฆฌํฉํ ๋ง |
| fix | ๋ฒ๊ทธ ์์ |
[GIT] โก๏ธ Gitmoji ์ฌ์ฉ๋ฒ ์ ๋ฆฌ (+ ๊น๋ชจ์ง ํด ์๊ฐ)
Commit Type
-
feature: ์ด์์ ๋ํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ์ฌ ์ฝ๋๊ฐ ์์ ๋ ๊ฒฝ์ฐ -
fix: ๋ฒ๊ทธ ์์ -
chore: ์ฝ๋ ์์ ์์ ์ด ์๋ ์์ - ํจํค์ง ์์ ์ฌํญ
- ์ฃผ์
-
merge: merge ํ ๋(ex -master์์ ๋ค๋ฅธ ๋ธ๋์น์ ๋ด์ฉ์ ๋ค๊ณ ์ฌ๋) -
refactor: ๋ฆฌํฉํ ๋ง -
docs: ๋ฌธ์ํ
Commit Message
- ์ ๋นํ ํ๊ธ/์์ด ์์ด์ฐ์ (๋๋๋ก ํ๊ธ๋ก)
- ํ๋์ feature๋ฅผ ์๊ฒ ๊ฐ์ ธ๊ฐ 1๋ช
์ด ์ฒ๋ฆฌ
- ์ธ๋ถ์ ์ธ ๊ธฐ๋ก์ด master ๋ธ๋์น์ ๋จ์์์ ํ์๊ฐ ์์
- ๋๋ฌด ์์ธํ ์ปค๋ฐ๋ค์ด ์์ผ๋ฉด ์คํ๋ ค ์ปค๋ฐ๋ด์ญ ์ดํดํ๋๊ฒ ํ๋ฆ
- ๋์ PR ๋ฉ์์ง๋ฅผ ์์ธํ๊ฒ ์ ๋๋ค.
# ํ
ํ๋ฆฟ
์ฒดํฌ ๋ฆฌ์คํธ
- ์ ์ ํ ์ ๋ชฉ์ผ๋ก ์์ ํ๋์?
- ๊ด๋ จ๋ ์ด์์ ์ฐ๊ฒฐ ์์ผฐ๋์?
- Target Branch๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ๋์?
- Label์ ์๋ง๊ฒ ์ค์ ํ๋์?
์์
๋ด์ญ
- ์์
ํ ๋ด์ฉ์ ๊ฐ๋ตํ๊ฒ ์์ฑํด์ฃผ์ธ์.
๋ฌธ์ ์ํฉ๊ณผ ํด๊ฒฐ
- ์์
์ค ๋ง์ฃผํ ๋ฌธ์ ์ํฉ ๋ฐ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋จ๊ฒจ์ฃผ์ธ์.
๋น๊ณ
- ์ฐธ๊ณ ํ๋ ๋งํฌ ๋ฑ ์ฐธ๊ณ ์ฌํญ์ ์ ์ด์ฃผ์ธ์. ์ฝ๋ ๋ฆฌ๋ทฐํ๋ ์ฌ๋์ด ์ฐธ๊ณ ํด์ผ ํ๋ ๋ด์ฉ์ ์์ ๋ก์ด ํ์์ผ๋ก ์ ์ ์ ์์ต๋๋ค.

-
PR ์ ๋ชฉ
- pr ์ ๋ชฉ์ ์ด์ ์ ๋ชฉ์ผ๋ก ํ๊ธฐ
- ex) [42-4] ์ฌ์ฉ์์ ์๋ฐํ ์ ๋ก๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
-
PR ์ปค๋ฐ ์ ๋ชฉ(ใ ใทใฑใ ใท (#1))
- pr ์ ๋ชฉ (# pr-number)
-
PR ๋ฉ์์ง(ใ ใทใฑใ ใท)
- pr์ commit ๋ด์ญ๋ค
- ๋งค์ฃผ ์์์ผ ์คํ๋ฆฐํธ ํ์ ํ์ ์ด์ ๋ฐํ
- ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ์์ ์๊ฑด์ผ๋ก ์์ ๋๋ฉด ์ด์ ์ถ๊ฐ ๋ฐํ
-
[Feature|Bugfix|Refactor] ์ด์ ์ด๋ฆex) [Feature] ๋ชจ๋ฐ์ผ ์ด๋ฏธ์ง ์ ๋ก๋๊ฐ ๋๋๋ก heic ๋ณํํ๊ธฐ
Feature ํ ํ๋ฆฟ
.github/ISSUE_TEMPLATE/feature_request.md
name: Feature request
about: ๊ธฐ๋ฅ ๊ตฌํ ์์ ์ ์์ฑํด์ฃผ์ธ์.
title: '[backlog-number] '
label: 'โจย feature'
assignees: ''
์๊ตฌ ์ฌํญ
- ์๊ตฌ ์ฌํญ์ ์์ธํ๊ฒ ์ ์ด์ฃผ์ธ์.
- ์ด๋ ๊ฒ ํ์ ๋ฆฌ์คํธ๋ฅผ ์ ๊ทน ํ์ฉํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
์ฒดํฌ ๋ฆฌ์คํธ
- ์์
๋ชฉ๋ก์ ์์ฑํฉ๋๋ค.
- ์์
์๊ฐ ์๋ฃํ๋ฉด ์ฒดํฌ๋ฅผ ํ ์ ์๊ธฐ ๋๋ฌธ์ PM์ด ํ์ธํ๊ณ ์ถ์ ๋จ์๋ก ๋๋์ด ์์ฑํ๋ฉด ๊ฐ๋ฐ ์ง์ฒ๋๋ฅผ ํ์ธํ๊ธฐ ์ฉ์ดํฉ๋๋ค.
๋น๊ณ
- ์ฐธ๊ณ ์ฌํญ์ ์ ์ด์ฃผ์ธ์. ํด๋น ์์
์ ํ๋ ์ฌ๋์ด ์ฐธ๊ณ ํด์ผ ํ๋ ๋ด์ฉ์ ์์ ๋ก์ด ํ์์ผ๋ก ์ ์ ์ ์์ต๋๋ค.
Bugfix ํ ํ๋ฆฟ
name: Bug request
about: ์์ ์์ฑํด์ฃผ์ธ์.
title: 'fix: '
label: '๐ย ์์ '
assignees: ''
๋ฒ๊ทธ ์์ธ ์ค๋ช
- ๋ฒ๊ทธ์ ๋ํ ์์ธํ ์ค๋ช
๊ณผ ์ ์์ ์ธ ๋์ ๋ฐฉ์์ ๋ํด ์์ฑํด์ฃผ์ธ์. ๋ฒ๊ทธ๋ฅผ ํ์ธ์ด ํด๊ฒฐํ ๊ฒฝ์ฐ์๋ ํ์๊ณผ ์์
๋ชฉํ๋ฅผ ์ ํํ ํ์
ํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๊ฐ๋ฅํ๋ฉด ๋ฒ๊ทธ๋ฅผ ์ฌํํ๋ ๋ฐฉ๋ฒ๋ ์์ฑํด์ฃผ์ธ์.
์์๋๋ ์์ธ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ ์
- ์์๋๋ ์์ธ์ ์์ ๋กญ๊ฒ ์์ฑํด์ฃผ์ธ์. ์ฒ๋ฆฌํ๋ ์ฌ๋์๊ฒ ๋์์ด ๋ ์๋ ์์ต๋๋ค.
- ๊ตฌ์ฒด์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์ํ ์ ์๋ค๋ฉด ์์ฑํด์ฃผ์ธ์.
๋น๊ณ ๋ฐ ์ถ๊ฐ ์ ๋ณด
- ๊ธฐํ ์ฐธ๊ณ ํ ๋งํ ๋งํฌ๋ ๋์์ด ๋ ๋งํ ์ ๋ณด๋ฅผ ์ถ๊ฐํด์ฃผ์ธ์.
- ๐ฟย ๋ฐฑ์๋
- ๐ย ํ๋ก ํธ์๋
- ๐ย ์์
- โจย feature
- ๐ ๋ฆฌํฉํ ๋ง
- ๐จย ์ฐ์ ์์-๊ธด๊ธ
- ๐ขย ์ฐ์ ์์-์ผ๋ฐ
- โค๏ธโ๐ฅ ์ ๋ฌด ๊ท์น
- ๐ฌ ํ์ Rule
- ๐ Git ์ ๋ต
- ๐ ๋ณ์, ํ์ผ, ๋ค์ด๋ฐ, ํด๋ ๊ตฌ์ฑ
์คํฌ๋ผ๊ธฐ๋ก
๊ฐ์ธํ๊ณ
๐ง ๋ ์ฐ๊ธฐ ์ข์ ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ UX ๊ฐ์ ๊ธฐ
๐ ํ์ด์ง๋ค์ด์ ๊ณผ ์ฟผ๋ฆฌ ์ต์ ํ
๐ซ ํ๋ก ํธ์๋ ์ ์ธ์ ์๋ฌ์ฒ๋ฆฌ
๐ ์คํ ๋ฆฌ๋ถ ์ด๊ฑฐ ์ ์ฐ๋์?
๐ฐ CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
๐งน ๋ชจ๋ฌ ๋ก์ง ๋ฆฌํฉํ ๋ง
๐งผ SSE ๊ธฐ๋ฐ์ ์๋ฆผ์ผ๋ก ๊ฐํธํ๋ ์ด์