Git์ ์ด์ฉํ์ฌ ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ํ๋ ๋์ค git์ ๋ํ ์ฌ์ธต์ ์ธ ๊ณต๋ถ๋ฅผ ํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ฌธ๋ ๋ค์๋ค. ํ์ ์ ํ๊ธฐ ์ํด ๋ง์ ๋ธ๋์น์ git flow๊ฐ ์๋ค๊ณ ๋ ๋์ถฉ ๋ค์์ง๋ง ์๋ฒฝํ๊ณ ์ดํดํ๊ณ ์ด์ฉํ๋ ๊ฒ๊ณผ๋ ์ฒ์ฐจ๋ง๋ณ์ด๋ผ์ git flow๋ฅผ ๊ณต๋ถํ์ฌ ํ๋ก์ ํธ์ ์ ์ฉ์ํฌ ๊ณํ์ด๋ค.
๊ธฐ๋ณธ ๋ธ๋์น
feature -> develop -> release -> hotfix -> master
-> ๋จธ์ง ์์๋ ์์์ ๋ค๋ก ์งํ
-> release์ hotfix ๋ธ๋์น์ ๊ฒฝ์ฐ develop ์ค๋ฅธ์ชฝ์ ์์นํ๋ฏ๋ก develop๋ ๋จธ์ง ๊ฐ๋ฅ
=> ์ค์ฌ์ด ๋๋ ๋ธ๋์น๋ master & develop!
=> merge๋ ๋ค๋ฅธ ๋ธ๋์น๋ ์ญ์ !
Feature ๋ธ๋์น
- ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ธ๋์น
- ๋์ค๋ ๊ณณ (Check out) : develop
- ๋ค์ด๊ฐ๋ ๊ณณ (Merge) : develop
- ์ด๋ฆ ์ง์ ๊ฐ๋ฅ
Release ๋ธ๋์น
- ์๋ก์ด Production์ release ํ๋ ๋ธ๋์น
- ๋์ค๋ ๊ณณ (Check out) : develop
- ๋ค์ด๊ฐ๋ ๊ณณ (Merge) : develop, master
- ์ด๋ฆ ์ง์ ๊ฐ๋ฅ
Hotfix ๋ธ๋์น
- Production์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ๋ฐ๋ด๊ณ ์์ ํ๋ ๋ธ๋์น
- ๋์ค๋ ๊ณณ (Check out) : master
- ๋ค์ด๊ฐ๋ ๊ณณ (Merge) : develop, master
Git Flow ์ข ๋ฅ
GitHub Flow
- ํ๋ฆ๊ณผ ๋ฃฐ์ด ๋จ์ํจ.
- ์๋ํ์ ๊ฐ๋ ๋ด์ฅ
- master ๋ธ๋์น๋ ์ธ์ ๋ ์ง ๋ฐฐํฌ ๊ฐ๋ฅํจ (ํญ์ ์ต์ ์์ ๋ ์ํ ์ ์ง => ์๊ฒฉ ๊ด๋ฆฌ)
- master์์ ๋ธ๋์น ๋ฐ๊ธฐ
- ์๊ฒฉ ๋ธ๋์น๋ก ์์๋ก push
- ํผ๋๋ฐฑ ๋์ ์์ฒญ, merge ์ค๋น ์๋ฃ ์ pull request ์์ฑ
- ๋ฆฌ๋ทฐ์ ์ฌ์ธ์ด ๋๋ ํ master๋ก merge
- merge๋ ๊ฒฝ์ฐ ์ฆ์ ๋ฐฐํฌ
์ฅ์
> ๋ธ๋์น ์ ๋ต ๋จ์
> ์ฝ๋ ๋ฆฌ๋ทฐ ์์ฐ์ค๋ฝ๊ฒ ๊ฐ๋ฅ
> CI๊ฐ ํ์์ , ๋ฐฐํฌ ์๋ ์งํ ๊ฐ๋ฅ
๋จ์
> CI์ ๋ฐฐํฌ ์๋ํ๊ฐ ๋์ด์์ง ์์ ๊ฒฝ์ฐ ์ฌ๋์ด ๊ด๋ จ๋ ์ ๋ฌด๋ฅผ ์งํํ๋ค๋ ์
> pr์ ์์ด ๋ง์์ง ๊ฒฝ์ฐ ๊ฐ๋นํ๊ธฐ ์ด๋ ต๋ค.
GitLab Flow
- Github๋ฅผ ๋ณด์ํ๊ธฐ ์ํ flow
- production ๋ธ๋์น ์กด์ฌ
- master์ production ์ฌ์ด pre-production ๋ธ๋์น ์กด์ฌ -> staging์ ์ํ ๊ณต๊ฐ
- Github์ ๊ฑฐ์ ์ ์ฌํ๋ค.
๋ด๊ฐ ์ฌ์ฉํด์ผ ํ Git Flow?
๋๋ Github Flow๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
- ํ๋ฒ ๊ฒฝํํด ๋ณด์์ (๊ฐ์ธ ํ๋ก์ ํธ ์ด๋ฏ๋ก ์ ๋ต์ด ๋จ์)
- ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐ๋ฅ
์ฐธ๊ณ : ์ ๋ฐค์ ์ธ๋ฐ์๋ ์๊ฐํ๊ธฐ.../Git flow, GitHub flow, GitLab flow (ujuc.github.io)
๋ฐ์ํ
'๐ Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
PR์ ์์ฑํ๋ ์ข์ ๋ฐฉ๋ฒ (0) | 2022.05.03 |
---|---|
Clean Commit Message ๋ฅผ ์์ฑํด์ผ ํ๋ ์ด์ (0) | 2022.05.03 |