Git
Git์ ์๋ฒ๋ฅผ ๋ถ์ฐ์์ผ ๊ตฌ์ถํ ์ ์๊ฒ ํ๋ ์ํํธ์จ์ด๋ก ์ง์ญ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ํ์ผ, ์ฝ๋ ๋ฑ์ ๊ด๋ฆฌํ๋ ์์ ์ ํ๋ค.
GitHub๋ Git์ผ๋ก ๊ด๋ฆฌํ๋ ์๋ฃ๋ฅผ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ๊ฑฐ๋ ๋ฐฑ์ ํ ์ ์๋ ์น ์ฌ์ดํธ์ด๋ค.
Git Flow
- ๊ธฐ๋ณธ ๋ธ๋์น๋ 5๊ฐ์ง๋ฅผ ์ด์ผ๊ธฐํ๋ค.
- feature > develop > release > hotfix > master ๋ธ๋์น๊ฐ ์กด์ฌํ๋ฉฐ ๋จธ์ง ์์๋ ์์์ ๋ค๋ก ์งํ๋๋ค.
- release ๋ธ๋์น์ hotfix ๋ธ๋์น์ ๊ฒฝ์ฐ, develop ๋ธ๋์น์ ์ค๋ฅธ์ชฝ์ ์กด์ฌํ๊ธฐ์ ๋ชจ๋ develop ๋ธ๋์น๋ ๋จธ์ง๋ฅผ ํ๋๋ก ๊ตฌ์ฑ์ด ๋์ด์๋ค.
1) Master Branch
์ ํ์ผ๋ก ์ถ์๋ ์ ์๋ ๋ธ๋์น๋ก ๋ฐฐํฌ(Release) ์ด๋ ฅ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ. ์ฆ, ๋ฐฐํฌ ๊ฐ๋ฅํ ์ํ๋ง์ ๊ด๋ฆฌํ๋ค.
2) Develop Branch
๋ค์ ์ถ์ ๋ฒ์ ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น๋ก ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ํ ๋ธ๋์น๋ค์ ๋ณํฉํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ๋ชจ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ณ ๋ฒ๊ทธ๊ฐ ์์ ๋์ด ๋ฐฐํฌ ๊ฐ๋ฅํ ์์ ์ ์ธ ์ํ๋ผ๋ฉด develop ๋ธ๋์น๋ฅผ master ๋ธ๋์น์ ๋ณํฉ(merge)ํ๋ค. ์ฆ, ํ์์๋ ์ด ๋ธ๋์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ์ ์งํํ๋ค.
3) Feature branch
๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น๋ก ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ฐ ๋ฒ๊ทธ ์์ ์ด ํ์ํ ๋๋ง๋ค develop ๋ธ๋์น๋ก๋ถํฐ ๋ถ๊ธฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์ด ์๋ฃ๋๋ฉด develop ๋ธ๋์น๋ก ๋ณํฉ(merge)ํ์ฌ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ๋ค. ์ด๋ feature ๋ธ๋์น์์์ ์์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณต์ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์์ ์ ๋ก์ปฌ ์ ์ฅ์์์ ๊ด๋ฆฌํ๋ค.
4) Release Branch
์ด๋ฒ ์ถ์ ๋ฒ์ ์ ์ค๋นํ๋ ๋ธ๋์น๋ก ๋ฐฐํฌ๋ฅผ ์ํ ์ ์ฉ ๋ธ๋์น๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ํ ํ์ด ํด๋น ๋ฐฐํฌ๋ฅผ ์ค๋นํ๋ ๋์ ๋ค๋ฅธ ํ์ ๋ค์ ๋ฐฐํฌ๋ฅผ ์ํ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๊ณ์ํ ์ ์๋ค. ์ฆ, ๋ฑ๋ฑ ๋์ด์ง๋ ๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ์ ์ํ๊ธฐ์ ์์ฃผ ์ข๋ค. ์๋ฅผ ๋ค์ด, ‘์ด๋ฒ ์ฃผ์ ๋ฒ์ 1.3 ๋ฐฐํฌ๋ฅผ ๋ชฉํ๋ก ํ๋ค!’๋ผ๊ณ ํ ๊ตฌ์ฑ์๋ค๊ณผ ์ฝ๊ฒ ์ํตํ๊ณ ํฉ์ํ ์ ์๋ค๋ ๋ง์ด๋ค.
5) Hotfix Branch
์ถ์ ๋ฒ์ ์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น๋ก ๋ฐฐํฌํ ๋ฒ์ ์ ๊ธด๊ธํ๊ฒ ์์ ์ ํด์ผ ํ ํ์๊ฐ ์์ ๊ฒฝ์ฐ master ๋ธ๋์น์์ ๋ถ๊ธฐํ๋ ๋ธ๋์น์ด๋ค. develop ๋ธ๋์น์์ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ์์ ํ์ฌ ๋ฐฐํฌ ๊ฐ๋ฅํ ๋ฒ์ ์ ๋ง๋ค๊ธฐ์๋ ์๊ฐ๋ ๋ง์ด ์์๋๊ณ ์์ ์ฑ์ ๋ณด์ฅํ๊ธฐ๋ ์ด๋ ค์ฐ๋ฏ๋ก ๋ฐ๋ก ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ master ๋ธ๋์น์์ ์ง์ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ํ์ํ ๋ถ๋ถ๋ง์ ์์ ํ ํ ๋ค์ master ๋ธ๋์น์ ๋ณํฉํ์ฌ ์ด๋ฅผ ๋ฐฐํฌํด์ผ ํ๋ ๊ฒ์ด๋ค.
์ฐธ๊ณ
https://ujuc.github.io/2015/12/16/git-flow-github-flow-gitlab-flow/