โ๏ธ ์์
ํ๋ก์ ํธ์ ๋ค์ด๊ฐ๊ธฐ ์์ git ์ ๋ต์ ๋ํด ํ์ตํ๋ค.
๋ํ ํ๋ก ํธ ๋ถ๋ค๊ณผ ๋ฐ๋ก ํ์๋ฅผ ๊ฐ์ ธ ์ด๋ค ํด์ ์ฌ์ฉํ ์ง ์ ํ๋ ์๊ฐ์ ๊ฐ์ก๋ค.
๐ Git ๋ค๋ฃจ๊ธฐ
์นธ๋ฐ
- ํ๊ณผ ์กฐ์ง์ด ์์
์ ์๊ฐํ ํ๊ณ , ๋ณ๋ชฉ ํ์๊ณผ ๋ฆฌ์์ค ๋ญ๋น๋ฅผ ํด๊ฒฐํ๋ ์
๋ฌด ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ด๋ค.
ํ๋ก์ ํธ ์์ ์ ์ ํ๋ฉด ์ข์ ์ ์ฑ
- ํ์ ์๊ฐ ๋ฐ ํด๋น ํ์์์ ๋
ผ์ํ ๋ด์ฉ
- ํ์ ๊ฐ ์ํต ์์น
- ์นธ๋ฐ ํฐ์ผ์ ์ธ์ , ์ด๋ป๊ฒ, ๋๊ฐ ์ถ๊ฐํ ์ง
- WIP ์ ํ
- ํ์ฌ ์งํํ๊ณ ์๋ ์์
- ex - WIP:2 ๋ 2๊ฐ ์ด์ ํด๋น ์ด์ ์นด๋๋ฅผ ๋ฐฐ์นํ ์ ์๋ค.
์ค์ฒ๋ฒ
- ์
๋ฌด ์๊ฐํ
- ์งํ ์ค์ธ ์
๋ฌด ์ ํ
- ํ๋ฆ ๊ด๋ฆฌ
- ๋ช
ํํ ํ๋ก์ธ์ค ์ ์ฑ
- ํผ๋๋ฐฑ ๋ฃจํ ๊ตฌํ
- ํ๋ ฅ์ ์ธ ๊ฐ์ , ์คํ์ ์ธ ๋ฐ์
Git branch
๋ธ๋์นญ(branching)
๊ธฐ์กด ๊ฐ๋ฐ ์ค์ธ ๋ฉ์ธ ๊ฐ๋ฐ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํด ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ฉ์ธ ๊ฐ๋ฐ ์ฝ๋๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๊ณ ํ ์ ์๋ ๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฒ
- ๊ธฐ์กด main ๋ธ๋์น์์์ ์์
์ ์ ์งํ๊ณ ์๋ก์ด ๋ธ๋์น์์ ์์ ๋กญ๊ฒ ์ฝ๋๋ฅผ ์ถ๊ฐ/์ญ์ ํ ์ ์๋ค.
Git flow
- Git ๋ธ๋์นญ ์ ๋ต์ด๋ค.
- ๋ํ์ ์ผ๋ก Github flow, Gitlab flow๊ฐ ์๋ค.
Cozโ Git flow
- main, dev, feat/{์์
์ด๋ฆ} ๋ธ๋์น๋ฅผ ์์ฑํด์ ๊ด๋ฆฌํ๋ค.
- main : ์ฌ์ฉ์์๊ฒ ์ธ์ ๋ ์ ํ์ผ๋ก ์ถ์ํ ์ ์๋ ๋ธ๋์น
- dev(elopment) : ๋ค์ ๋ฒ์ ๋ฐฐํฌ๋ฅผ ์ํ "๊ฐ๋ฐ ์ค"์ธ ๋ธ๋์น
- feat(ure)/{์์
์ด๋ฆ} : ๊ธฐ๋ฅ ๊ฐ๋ฐ, ๋ฆฌํฉํ ๋ง, ๋ฌธ์ ์์ฑ ๋ฑ์ ์ํ ๋ธ๋์น
โ๏ธ Keep
- git flow์ ๋ํด ์ ์์ง ๋ชปํ๋๋ฐ ์ด๋ฒ ๊ธฐํ์ ํ์ตํ ์ ์์ด์ ์ข์๋ค.
- ์ฃผ๋ก main, dev, feature ๋ธ๋์น ์ ๋๋ก๋ง ๋๋ ์งํํ๋ ๊ฑฐ ๊ฐ๋ค.
- ํ๋ก์ ํธ ์ ํ๋ ์์ํฌ ์ ํ ํ๋ ์์ญ์ ๋ํด ์๋ ํญ์ด ์ข์๋๋ฐ ์ด๋ถ๋ถ๋ ํ์ตํ ์ ์๋ ๊ธฐํ๊ฐ ์ฃผ์ด์ ธ ์ข์๋ค.
โ๏ธ Problem
- ํ๋ฃจ์ 2๋ฒ ํ์๋ฅผ ์งํํ๋ ค๊ณ ํ๋ ์ง์ด ๋น ์ง๋ค.
- ํ๋ก์ ํธ ์ง์
์ ์์์ผํ ๋ด์ฉ์ด ๋ง์ ๊ณต๋ถํ๋ ์๊ฐ์ผ๋ก ์ธํด ๋ฆ๊ฒ ์๊ฒ ๋๋๊ฑฐ ๊ฐ๋ค.
- ๋ฐฑ์๋ ๋ถ๊ณผ์ ์ํต์์ ์ฐ๋ฆฌ ํ๋ก ํธ์ ์งํ ์๋๊ฐ ๋ฌ๋ผ ์ ์ฒด ํ์์ ์ด์ง ์ ๋๊ฐ๋๊ฒ ๋๊ปด์ง๋ค.
๐ Try
- ํ์๊ฐ์ ํ์ ์ค ์ ๊ทน์ ์ผ๋ก ์๊ฒฌ ์ ์ํ๊ณ ์ดํด๊ฐ ์๋๋ ๋ถ๋ถ์ ๋ฐ๋ก ๋ฐ๋ก ์ฌ์ญค๋ณด๊ธฐ.
- ํ๋ก์ ํธ๋ ์งํํ๋ ๊ฐ์ธ ๊ณต๋ถ์๊ฐ์ ๊ฐ์ง๊ณ ์์ ๊ฒ.
โ๏ธ ๋ง์น๋ฉฐ
ํ๋ก์ ํธ ์งํ๋ ํ์ง ์์๋๋ฐ ๋ฒ์จ ์ง์น๋ ๊ฑฐ ๊ฐ๋ค.
์๋ฌด๋๋ ๊ธฐํ๋ถํฐ ์งํํ๋ค ๋ณด๋ ๊ฒฝํ์ด ์๋ ๋ฐฑ์๋, ํ๋ก ํธ์์
์๋ก ์๊ฒฌ์ด ์ ๋ง๋๊ฑด ๋น์ฐํ๊ฑฐ ๊ฐ๋ค.
๋ํ ํ ์ชฝ ์๊ฒฌ์ ์น์ฐ์น๊ธฐ๋ ํ๋ค.
PreProject์ด๊ธฐ์ ๋ง์ ๊ฒฝํ์ ์๊ณ ์ฑ์ฅํ๋ ๊ณ๊ธฐ๊ฐ ๋์์ผ๋ฉด ์ข๊ฒ ๋ค.