**Git Fast-Forward vs Merge vs Rebase ์๋ฒฝ ์ ๋ฆฌ**๋ฅผ ์ฝ๊ณ ์ค๋ฉด ์ดํด๊ฐ ๋ ์ฝ์ต๋๋ค.
1. Main์์ Feature ๊ฐ๋ฐ
main โ feature/login
โ feature/payment
โ feature/dashboard
2. Release ๋ธ๋์น ์์ฑ
# v1.2.0์ ํฌํจ๋ ๊ธฐ๋ฅ๋ค์ด main์ ๋ชจ๋ merge๋ ํ
git checkout main
git checkout -b release/v1.2.0
# ์ด ์์ ์ main์๋ ์ด๋ฏธ ๋ชจ๋ feature๊ฐ ํฌํจ๋จ
3. Release์์๋ ๋ฒ๊ทธํฝ์ค๋ง
release/v1.2.0: A โ B โ C โ D โ E
โ โ
bugfix1 bugfix2
๐ฏ ์ค์ ์ํฌํ๋ก์ฐ
๋จ๊ณ๋ณ ์งํ
1๋จ๊ณ: Feature ๊ฐ๋ฐ (๋ณ๋ ฌ)
# ๊ฐ์ main์์ ๋ธ๋์น ์์ฑ
git checkout main
git checkout -b feature/login
# ๊ฐ๋ฐ ์๋ฃ ํ main์ merge
git checkout main
git merge feature/login
2๋จ๊ณ: Release ์ค๋น
# ๋ชจ๋ feature๊ฐ main์ ๋ค์ด๊ฐ ํ
git checkout main
git checkout -b release/v1.2.0
# ๋ฒ์ ๋ฒํธ ์
๋ฐ์ดํธ, ๋ฌธ์ ์ ๋ฆฌ ๋ฑ
3๋จ๊ณ: ํ ์คํธ ๋ฐ ๋ฒ๊ทธํฝ์ค
# Release ๋ธ๋์น์์ ๋ฐ๊ฒฌ๋ ๋ฒ๊ทธ๋ง ์์
git checkout release/v1.2.0
git checkout -b bugfix/login-validation
# ๋ฒ๊ทธ ์์ ํ release์ merge
git checkout release/v1.2.0
git merge bugfix/login-validation
4๋จ๊ณ: ๋ฐฐํฌ ๋ฐ Backport
# Production ๋ฐฐํฌ
git checkout main
git merge release/v1.2.0
# ๋ฒ๊ทธํฝ์ค๋ฅผ main์๋ ๋ฐ์
git checkout main
git merge release/v1.2.0
๐๏ธ ์๋ฒ ๊ฐ๋ฐ ์ค์ ์์
์คํ๋ฆฐํธ ๊ณํ
v1.2.0 ๋ชฉํ:
- ์ฌ์ฉ์ ๋ก๊ทธ์ธ ์์คํ
- ๊ฒฐ์ ์์คํ
ํตํฉ
- ๊ด๋ฆฌ์ ๋์๋ณด๋
๊ฐ๋ฐ ์งํ
# Week 1-2: Feature ๊ฐ๋ฐ
feature/user-auth โ main
feature/payment-api โ main
feature/admin-dash โ main
# Week 3: Release ์ค๋น
main โ release/v1.2.0
# Week 4: QA ๋ฐ ๋ฒ๊ทธํฝ์ค
bugfix/auth-timeout โ release/v1.2.0
bugfix/payment-retry โ release/v1.2.0
# Week 5: ๋ฐฐํฌ
release/v1.2.0 โ main โ production
โ ๏ธ ์ Release์์ Feature๋ฅผ ๋ง๋ค๋ฉด ์๋ ๊น?
1. ๋ถ์์ ํ ๊ธฐ๋ฐ
# Feature A ๊ฐ๋ฐ ์ค
release/v1.2.0: X โ Y
# Feature B๊ฐ ๋จผ์ merge๋จ
release/v1.2.0: X โ Y โ Z
# Feature A๊ฐ ์ด์ ์ค๋๋ base์์ ์์
ํ๊ณ ์์!
2. ํ ์คํธ ๋ณต์ก์ฑ
- ๐งช ๊ฒฉ๋ฆฌ ์ด๋ ค์: ์ด๋ค feature๊ฐ ๋ฒ๊ทธ๋ฅผ ์ผ์ผ์ผฐ๋์ง ํ์ ํ๋ฆ
- ๐ ํ๊ท ํ ์คํธ: ๋งค๋ฒ ๋ชจ๋ feature ์กฐํฉ ํ ์คํธ ํ์
3. ๋กค๋ฐฑ ์ด๋ ค์
# ๋ง์ฝ payment feature์ ์น๋ช
์ ๋ฒ๊ทธ ๋ฐ๊ฒฌ
# ํ์ง๋ง ์ด๋ฏธ ๋ค๋ฅธ feature๋ค์ด ๊ทธ ์์ ์์ฌ์๋ค๋ฉด?
# ์ ์ฒด๋ฅผ ๋๋๋ ค์ผ ํจ...
๐ก ํต์ฌ ์์น
โRelease ๋ธ๋์น๋ ์์ ํ๋ฅผ ์ํ ๊ณต๊ฐโ
- โ Main: ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ๊ณผ ํตํฉ
- โ Release: ์ถ์ ์ค๋น์ ํ์ง ๋ณด์ฆ
- โ Production: ์์ ์ ์ธ ์๋น์ค ์ด์
์ด๋ ๊ฒ ํ๋ฉด ๊ฐ ๋ธ๋์น์ ๋ชฉ์ ์ด ๋ช ํํ๊ณ , ์ํ๋๋ฅผ ์ต์ํํ ์ ์์ต๋๋ค!