GitFlow์ GithubFlow ๋น๊ตํ๊ธฐ
- main ๋ธ๋์น๊ฐ ์๋ ์ด๊ธฐ ๋ธ๋์น์์ ๋ฐ๋ก ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ์์ฑ ํ ์์ ์ ์ํํจ
- ์์
์ด ์๋ฃ๋์ด๋ ๋ฐ๋ก main์ผ๋ก ๋ณํฉ x
- main ๋ธ๋์น์ ๋ฐ๋ก ์ปค๋ฐํ๊ฒ ๋๋ฉด ์๋ํ๋ก ์ธํ์ฌ ๊ณ ๊ฐ์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋จ (์ค๋ฅ๊ฐ ์๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ)
- master : ๋ผ์ด๋ธ ์๋ฒ์์ ์ ํ์ผ๋ก ์ถ์ ๋๋ ๋ธ๋์น
- develop : ๋ค์ ๋ฒ์ ๊ฐ๋ฐ์ ์ํด ์ฝ๋๋ฅผ ๋ชจ์๋๋ ๋ธ๋์น
- feature : ํ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋ธ๋์น (develop ๋ธ๋์น์ ์์ฑ)
- release : ์ํํธ์จ์ด ๋ฐฐํฌ๋ฅผ ์ค๋นํ๋ ๋ธ๋์น (develop ๋ธ๋์น์ ์์ฑ)
- hot fixes : ์ด๋ฏธ ๋ฐฐํฌ๋ ๋ฒ์ ์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น
- ๋ธ๋์น์์ ์์ ํ ํ develop์ ํฉ์นจ
- Git Flow์ ๋จ์ : ์์ ์๋๊ฐ ์ค๋ ๊ฑธ๋ฆผ
- ๊ฐ๋จํ๊ณ ๋ฐ๋ฅธ ์๋๋ก ์์ ์ด ๊ฐ๋ฅ
- ์๋ํ
- ํ๋์ ๋ธ๋์น์์ ์์ ์ด ๋๋๋ฉด ๋ฐ๋ก main์ ๋ณํฉ
Github Flow๋ 2๊ฐ์ง ์์ ์ฅ์น๋ฅผ ๊ฐ์ง
- Github Flow๋ฅผ ํ ๋ ํ
์คํธ์ผ์ด์ค๋ฅผ ์ ๋ถ ๋๋ ค๋ณธ ํ ํ๋๋ผ๋ ์๋๋ค๋ฉด ๋ฐฐํฌ๋ฅผ ์ค๋จํจ
- TDD ํ์!
- ๋ณํฉ์ ํ ๋๋ ๋๋ช
์ด์์ ๋์๋ฅผ ๋ฐ์ผํ๋ ๋ฃฐ์ ๊ฑธ ์๋ ์๋ค. ๋ณํฉ์ ํ๋ ๋ฐ ์์
์ ํผ์ ๊ฒฐ์ ํ์ง ์์
- Git Flow ๋ณด๋ค ๋ ๋น ๋ฅธ ์ ์ฉ!
ํ์ ํ๊ธฐ
- pm) ๋ฆฌํฌ์งํฐ๋ฆฌ ์์ฑ
- readme.md ์์ฑ ์ฒดํฌ
- main ๋ธ๋์น์ PR ๋ฃฐ ๊ฑธ๊ธฐ (์ค์ - Branches - Branch name pattern์ main - Require a pull request before merging ์ ํ - ์ธ์ ์ ์ค์
- pm) ๊ฐ๋ฐ์ 1์ ํ๋ ฅ์๋ก ์ด๋
- back) ๊ฐ๋ฐ์ 1์ ์ด๋๋ฅผ ์๋ฝ
- pm) ์ด์ ์์ฑ
- pm) ๋ผ๋ฒจ ์ง์
- bug - ๋ฒ๊ทธํฝ์ค
- document - ๋ฌธ์ ์ต์ ํ
- enhancement - ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐ ๊ฐ์
- back) ์ด์ ํ์ธ ๋ฐ ์์
- ๐ค back) git clone ๋ฆฌํฌ์งํฐ๋ฆฌ์ฃผ์ . : git pull๊น์ง ๋ก๊ธฐ๋ ๋ช
๋ น์ด (git init + git pull ์ ์์ถ)
- git checkout -b enhancement/1 ํ๊ณ ๋์ ์์ ํ๊ธฐ
- git add .
- git commit -m “work1”
- git pull origin main —rebase : git pull origin main —rebase : ํ์ฌ ๋ด๊ฐ ์์ ํ๊ณ ์๋๊ณณ์ ์๊ฒฉ์ง์ main์ ์๋ ์ต์ ์์ ๋ณธ์ ๊ฐ์ ธ์์ ๋ณํฉํ๋ค. (์ฆ ์ต์ ํ)
- git push origin enhancement/1
- back) ๊นํ๋ธ ์ ์ ํ pr ์์ฑ ๋ฌธ๊ตฌ ํ์ธ
- pm) ์น์ธ : sqush merge (์ปค๋ฐ๊ฒฐ๊ณผ ๋ณด๊ธฐ ์ข๊ฒ ์๊ธฐ) -> delete branch : enhancement/1 -> ์ด์ ๋ซ๊ธฐ
- ๊ฑฐ๋ถ : pr ๋ฆฌ์ (๋ณํฉ ๊ฑฐ๋ถ)
- back) ๋ฆฌ์ ํ์ธ ๋ฐ ์ต์ ํ ํ ๐ค ๊ณผ์ ๋ค์ ์งํ
- back) pr ์น์ธ ๋ฐ์ผ๋ฉด
- git checkout main
- git pull origin main
- git branch -D enhancement/1
- git fetch --prune : ๋ก์ปฌ์ ๋จ์ ์๋ ๊ฒ๋ค ์ญ์
์ ๋ฆฌ
Git Flow ์์ ๋ณต์กํจ์ ์ค์ด๊ณ Github์ ํฌํ ๊ธฐ๋ฅ์ ํฉ์น ๊ฒ์ด Github Flow!