๐ ์ฐ๋ฆฐ Git-flow๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ - ์ฐ์ํํ์ ๋ค ๊ธฐ์ ๋ธ๋ก๊ทธ
๋ช
๋ น์ด๊ฐ ๋์์๋ค.
์ฌ๋งํ ์๋ํฐ์ IDE์๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก ์กด์ฌํ๋ค.
๋ธ๋ฐ์น๊ฐ ๋ง์ ๋ณต์กํ๋ค.
์ ์ฐ๋ ๋ธ๋ฐ์น๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ช๋ช ๋ธ๋ฐ์น๋ ์ ๋งคํ ํฌ์ง์
์ด๋ค.
master ๋ธ๋ฐ์น๋ ์ด๋ค ๋๋ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค.
master ๋ธ๋ฐ์น๋ ํญ์ ์ต์ ์ ์ํ์ด๋ฉฐ, stable ์ํ๋ก Product์ ๋ฐฐํฌ๋๋ ๋ธ๋ฐ์น์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ธ๋ฐ์น์ ๋ํด์๋ ์๊ฒฉํ role๋ฅผ ์ฃผ์ด ์ฌ์ฉํ๋ค.
์๋ก์ด ์ผ์ ์์ํ๊ธฐ ์ํด ๋ธ๋ฐ์น๋ฅผ master์์ ๋ด๋ค๋ฉด ์ด๋ฆ์ ์ด๋ค ์ผ์ ํ๋์ง ๋ช
ํํ๊ฒ ์์ฑํ๋ค.
git flow ์๋ ๋ค๋ฅด๊ฒ feature ๋ธ๋ฐ์น๋ develop ๋ธ๋ฐ์น๊ฐ ์กด์ฌํ์ง ์๋๋ค. ๊ทธ๋ ๊ธฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ธ๋ฐ์น์ ์ด๋ฆ์ ์์ธํ๊ฒ ์ด๋ค ์ผ์ ํ๊ณ ์๋์ง์ ๋ํด์ ์์ฑํด์ฃผ๋๋ก ํ์. Github ํ์ด์ง์์ ๋ณด๋ฉด ์ด๋ค ์ผ๋ค์ด ์งํ๋๊ณ ์๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ฝ๊ฒ ๋ง์ด๋ค.
์๊ฒฉ์ง ๋ธ๋ฐ์น๋ก ์์๋ก push๋ฅผ ํ๋ค.
git flow ์ ๊ฐ์ฅ ์๋ฐ๋๋ ๋ฐฉ์์ด๋ค. ํญ์ ์๊ฒฉ์ง์ ์์ ์ด ํ๊ณ ์๋ ์ผ๋ค์ ์ฌ๋ ค ๋ค๋ฅธ ์ฌ๋๋ค๋ ํ์ธํ ์ ์๋๋ก ํด์ค๋ค.
์ด ๋ฐฉ๋ฒ์ ์ข์ ์ ์ ํ๋์จ์ด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ์์
ํ๋ ๋ถ๋ถ์ด ์์ด์ง๋๋ผ๋ ์๊ฒฉ์ง์ ์๋ ์์ค๋ฅผ ๋ฐ์์ ์์
์ ํ ์ ์๋๋ก ํด์ค๋ค.
ํผ๋๋ฐฑ์ด๋ ๋์์ด ํ์ํ ๋, ๊ทธ๋ฆฌ๊ณ ๋จธ์ง ์ค๋น๊ฐ ์๋ฃ๋์์ ๋๋ pull request๋ฅผ ์์ฑํ๋ค.
pull request ๋ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋์์ฃผ๋ ์์คํ
์ด๋ค.
๊ทธ๋ ๊ธฐ์ ์ด๊ฒ์ ์ด์ฉํ์ฌ ์์ ์ ์ฝ๋๋ฅผ ๊ณต์ ํ๊ณ , ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ ์๋๋ก ํ๋ค. ๋ฌผ๋ก ๋จธ์ง๊ฐ ์ค๋น ์๋ฃ๋์ด master ๋ธ๋ฐ์น๋ก ๋ฐ์์ ์๊ตฌํ์ฌ๋ ๋๋ค.
๊ธฐ๋ฅ์ ๋ํ ๋ฆฌ๋ทฐ์ ์ฌ์ธ์ด ๋๋ ํ master๋ก ๋จธ์งํ๋ค.
๊ณง์ฅ product๋ก ๋ฐ์์ด๋ ๊ธฐ๋ฅ์ด๊ธฐ์ ์ดํด๊ด๊ณ๊ฐ ์ฐ๊ฒฐ๋ ์ฌ๋๋ค๊ณผ ์ถฉ๋ถํ ๋
ผ์ ์ดํ ๋ฐ์ํ๋๋ก ํ๋ค.
master๋ก ๋จธ์ง๋๊ณ ํธ์๋์์ ๋๋ ์ฆ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ค.
GitHub Flow์ ํต์ฌ์ธ๋ฏํ master๋ก ๋จธ์ง๊ฐ ์ผ์ด๋๋ฉด hubot์ ์ด์ฉํ์ฌ ์๋์ผ๋ก ๋ฐฐํฌ๊ฐ ๋๋๋ก ์ค์ ํด๋๋๋ค.
๋ธ๋ฐ์น ์ ๋ต์ด ๋จ์ํ๋ค.
์ฒ์ git์ ์ ํ๋ ์ฌ๋์๊ฒ ์ ๋ง ์ข์ ์์คํ
์ด ๋๋ค.
Github ์ฌ์ดํธ์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ชจ๋ ์ฌ์ฉํ์ฌ ์์
์ ์งํํ๋ค.
์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
CI๊ฐ ํ์์ ์ด๋ฉฐ, ๋ฐฐํฌ๋ ์๋์ผ๋ก ์งํํ ์ ์๋ค.
Github๊ฐ ์์
์ ํ ๋ ์ด๋ ๊ฒ ์์
ํ๊ณ ์๋ค.
CI์ ๋ฐฐํฌ ์๋ํ๊ฐ ๋์ด์์ง ์์ ์์คํ
์์๋ ์ฌ๋์ด ๊ด๋ จ๋ ์
๋ฌด๋ฅผ ์งํํ๋ค.
๋ง์ ๊ฒ๋ค์ด ์ฌ๋ผ์ค๊ธฐ ์์ํ๋ฉดโฆ ๊ทธ๋๋ถํฐ๋ ํฌ์ดโฆ
๋๋ฌด ๊ฐ๋จํ๋โฆ ์ด๊ฑฐ ๋จ์ ์ด ์๋ ์ถ๋คโฆ
๋ณต์กํ Gitflow์ ๋๋ฌด ๊ฐ๋จํ Github์ ์ ์ถฉ์
production ๋ธ๋์น๋ ์ค์ง ๋ฐฐํฌ๋ง์ ๋ด๋นํ๋ค.
pre-production ๋ธ๋์น๋ production ๋ธ๋์น๋ก ๊ฒฐ๊ณผ๋ฅผ ๋๊ธฐ๊ธฐ ์ ์ ํ
์คํธ๋ฅผ ์ํํ๋ ๋ธ๋์น์ด๋ค.