[ Git ] ํ๋ก์ ํธ ๋ง๋ค๋ git ์ค๊ณ - YEOL
๐ ํ๊ฒฝ
๐ ๊ฐ์
git์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ฉด ๊ฐ๋ ์ฑ, ํจ์จ์ฑ ๋ฑ์ ๊ณ ๋ คํ๋ฉฐ ์ค๊ณํ๊ธฐ!
๐ ๋ชฉ์ฐจ
- git ์ด๊ธฐ ์ธํ
- git flow ๋ธ๋์น
- issue, bug, pr
- git ์ด๊ธฐ ์ธํ
- git ํ๋ก์ ํธ ์์ฑํ๊ธฐ
- ํด๋น git issue template bug๋ feature ๋ง๋ค๊ธฐ (์ด๋ฏธ์ง ์ฐธ์กฐ)
- git tool ํตํด clone ๋ฐ๊ธฐ
๊ณ์ ์ด 2๊ฐ์ผ ๊ฒฝ์ฐ ์ค์ ์์ ์ถ๊ฐ(์ ๋ git fork ํด ์ฌ์ฉ) - ๋ธ๋ ์น๋ช
์ด prod์ธ ๋ธ๋์น ์์ฑํ๊ณ ๊ทธ ๋ธ๋์น ์ฌ์ฉ
๋์ค์ dev, feature ๋ธ๋์น๋ฅผ ์ถ๊ฐ , staging๋ optional
- git flow ๋ธ๋์น
์๋๊ฐ ์ฌ์ฉํ ๋ธ๋์น๋ค์
๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋๋ฆฌ๊ฑฐ๋ ์ ๊ฑฐํฉ๋๋ค.
- prod: ์ค์ ๋ฐฐํฌ๋์ด์๋ ์๋น์ค ๋ธ๋์น
- dev: feature์์ pr ๋ฐ์ ๋ฐฐํฌ ์ด์ ๋จ๊ณ์ ํ ์คํธ ๋ธ๋์น
- feature-issue#1: ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ git์ issue number๋ฅผ ์ถ๊ฐํ์ฌ ์์ฑํ ๋ธ๋์น
- hotfix-issue#1: prod์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๊ฒฝ์ฐ ์์ฑํ ๋ธ๋์น
- staging: prod์ ๊ฐ์ฅ ํก์ฌํ ํ๊ฒฝ์์ ํ
์คํธํ๋ ๋ธ๋์น
(์๋ํํฐ์์ prod์ dev์ ๋ฆฌํด ๊ฐ์ด ๋ค๋ฅด๊ฑฐ๋ dev์์๋ง ํ ์คํธ๊ฐ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์๋ฏธ๊ฐ ํด์๋ ์ ์๋ ๋ธ๋์น)
feature -> dev, hotfix -> prod ์์๋ก prod๊ฐ ๊ฐ์ฅ ์์์ ๋ธ๋์น์
๋๋ค.
ํ์์์ ์์๋ก pr์ ๋ ๋ฆฌ๊ณ ํ
์คํธํ๊ณ ๊ทธ์๋ก pr์ ๋ ๋ฆฌ๋ ๊ตฌ์กฐ์ด๋ฉฐ hotfix๋ dev์์ ์ผ๋ถ ์์ ํ ๊ฒฝ์ฐ
rebase๋ฅผ ํตํด ๊ธฐ์กด ๋ธ๋์น์ base๋ฅผ ๋ณ๊ฒฝ๋ ๊ฐ์ผ๋ก ๋ฐ๋ผ๊ฐ๋๋ค.
- issue, bug, pr
issue๋ bug, pr ๋ฑ์ ๋ฌธ์์ ์ ๋ฆฌ๋ ํด๋น ํ๋ก์ ํธ์ git ํํ์ด์ง์์ ๊ด๋ฆฌํฉ๋๋ค.
์ด์์ ๊ฒฝ์ฐ์๋ ์์ฑํ ๋ ์๊ธฐ๋ number๋ฅผ ๋ ํ์ฉํด์ค๋๋ค.
๐ ๊ทผ๊ฑฐ ์๋ ์กฐ์ธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. ์ฑ์คํ ์ฝ๋ฉ ํ์ธ์.