git commit -m "Blog Posting #6๐ซก"
๊ฐ๋ฐ์ํ์ ์ ํ์ ๋๊ตฌ
์ค๋ฌด์์ Git ๋ธ๋์น ์ ๋ต ๋ฐ Zone ๊ตฌ๋ณ
์ค์ ํ์ ์์๋ ๊ฐ๋ฐ, ํ ์คํธ, ๋ฐฐํฌ๋ฅผ ์ํ Zone์ ๊ตฌ๋ถํ์ฌ ๊ด๋ฆฌํ๋ค๊ณ ํ๋ค. ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ์ด์ํ๊ธฐ ์ํด ๋ค์ํ Git ๋ธ๋์น ์ ๋ต์ ์ฌ์ฉํ๋ฉฐ, ๋ํ์ ์ธ ์ ๋ต์ค ํ๋๊ฐ git-flow ์ด๋ค.
๊ฐ๋ฐ ๊ฒฐ๊ณผ๋ฌผ์ ํ ์คํธํ๊ธฐ ์ํ Develop Zone๊ณผ ์ค์ ์ ์ ๋ค์ด ์ฌ์ฉํ๊ธฐ ์ํด ๋ฐฐํฌํ๋ Production Zone ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ Zone๊ณผ ์ฐ๋ํ์ฌ ๊ด๋ฆฌํ๋ Git ๋ธ๋์น ์ ๋ต์ ์์๋ณด๋๋ก ํ๊ฒ ๋ค. (์ ๋ต์ git-flow๋ผ๊ณ ๋ช ํจ)
https://techblog.woowahan.com/2553/
์ค์ ๋ก ์ ๋งํฌ๋ฅผ ๋ณด๋ฉด ์ฐ์ํํ์ ๋ค์ Git-flow ์ ๋ต์ ๋ณผ ์์๋ค.
ํ์ ์์์ ํ ์คํธ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ํ Zone ๊ตฌ์ฑ
- Local:
- ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ด๊ธฐ ํ ์คํธ๋ฅผ ์ํํ๋ ํ๊ฒฝ.
- ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉฐ ๊ฐ์ธ์ ์ธ ๋ฐ์ดํฐ๋ ์์ ๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ค.
- ๋ก์ปฌ ๋ธ๋ผ์ฐ์ ์์ ํ๋ก ํธ์๋๋ฅผ ํ ์คํธํ๊ฑฐ๋, Postman ๋ฑ์ ์ฌ์ฉํด ๋ฐฑ์๋๋ฅผ ํ ์คํธํ๋ค.
- Develop Zone:
- ๋ชจ๋ ๊ฐ๋ฐ์๋ค์ด ํจ๊ป ์ฌ์ฉํ ์ ์๋ ํ ์คํธํ๊ฒฝ.
- ๋ก์ปฌ์์ ์๋ฃ๋ ๊ธฐ๋ฅ์ด ์ฌ๊ธฐ์์ ํตํฉ ํ ์คํธ๋ฅผ ๋ฐ๋๋ค.
- ์ด ํ๊ฒฝ์์ ๋ฐ๊ฒฌ๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ณ , ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค๊ณผ์ ์ถฉ๋์ ํด๊ฒฐํ๋ค.
โป ์ฃผ์: Develop Zone์์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๊ณ , ๊ทธ๊ณณ์์ ๋ฒ๊ทธ๋ฅผ ์ฐพ๋ ๊ฒ์ ๋๋ฌด ๋น์ฐํ๊ฒ ์๊ฐํด์ ์๋จ
- ์ฐ๋ฆฌ๋ ๋๊ตฐ๊ฐ๊ฐ ๋จน์ ์ ์๋ ์์ค์ ์์์ ๋ง๋ค๊ณ ์์์ ํ์ง, ์์์ผ๋ก ๋ง์ ์ฐพ์๊ฐ์ง ์๋๋ค.
- ์ด์จ๊ฑฐ๋ ๋ก์ปฌ๋ง์ด ์ธ๋ถ ๋๋ฒํน ๋ฐ ๋ก๊ทธ ํ์ธ์ด ๊ฐ๋ฅํ ๊ฐ์ฅ ํฌ๋ช ํ ๋๋ฒ๊น ๊ณต๊ฐ์ด๋ค.
- Staging Zone:
- ์ค์ ์ด์ ํ๊ฒฝ๊ณผ ๊ฐ์ฅ ์ ์ฌํ ํ๊ฒฝ์ด๋ค.
- ์ต์ข ๋ฐฐํฌ ์ ์ ์ ์ฒด ์์คํ ์ ํตํฉ ํ ์คํธ๋ฅผ ์ํํ๋ฉฐ ์ฑ๋ฅ์ด๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ ๊ฒํ๋ค.
- ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ๋คํธ์ํฌ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์งํํ๋ค.
- Production Zone:
- ์ค์ ์ ์ ๊ฐ ์ฌ์ฉํ๋ ํ๊ฒฝ์ผ๋ก ๊ฐ์ฅ ์์ ์ ์ธ ์ฝ๋๋ง์ด ๋ฐฐํฌ๋๋ค.
- ๋ฐฐํฌ ํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ ์ํ๊ฒ ๋กค๋ฐฑํ ์ ์๋ ๋์์ ๋ง๋ จํด์ผํจ.
Git ๋ธ๋์น ์ ๋ต (git-flow)
์์น์ ๋ชจ๋ ๋ฐฐํฌ๋ ๊ฒฉ๋ฆฌ๋ ๋ธ๋์น์์ ์์ ์ ์๋ฃํ ํ PR์ ํตํด ๋ฐฐํฌ๋ฅผ ์ํ ๋ธ๋์น์ ๋จธ์งํด์ผํ๋ค.
git-flow ์ ๋ต์ ์ฌ๋ฌ ๋ช ์ด ํ์ ํ ๋ ํจ์จ์ ์ผ๋ก ๋ธ๋์น๋ฅผ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ค๋ค. ์ด ์ ๋ต์ ์ธ ๊ฐ์ง ํ์ ์ ๋ธ๋์น๋ก ๋๋์ด์ง๋ค.
- Master/Main: ๋ฐฐํฌ ๋ธ๋์น
- ๋ฒ๊ทธ ๋ฐ์์ ๋ํ ๋ถํ์ค์ฑ์ด ๋ฎ๊ณ ๋ฌด๊ฒฐํ์ฌ ์ด์์กด์ ์น๋ช ์ ๋ฌธ์ ๋ฐ์ ์ ๋กค๋ฐฑํ ์ ์๋ ์ปค๋ฐ๋ค์ ์งํฉ.
- ๋ฐฐํฌ ๊ฐ๋ฅํ ์์ ์ ์ธ ์ฝ๋๋ฅผ ์ ์งํ๋ ๋ธ๋์น.
- ๋ชจ๋ ๊ธฐ๋ฅ์ ์ด ๋ธ๋์น์ ๋ณํฉ๋๊ธฐ ์ ์ ์ฒ ์ ํ ํ ์คํธ ๋์ด์ผ ํ๋ค.
- Develop:ํ
์คํธ ๋ธ๋์น
- 'ํ ์คํธ'์ ์๋ฏธ๋ ๋ก์ปฌ์์ ํ ์คํธ ๋ฐ ๊ฐ๋ฐ์ ์๋ฃํ ๋ค ๋ง์ง๋ง ํ ์คํธ
- ๊ฐ๋ฐ์๋ค์ด ๊ณต๋์ผ๋ก ์์ ํ๋ ๋ธ๋์น๋ก ๋ชจ๋ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ ์์ ์ด ์ด ๋ธ๋์น์์ ์์ํ๋ค.
- Staging Zone์์์ ์ต์ข ํ ์คํธ๋ฅผ ์ํด ์ฌ์ฉ
- Feature: ๊ฐ๋ฐ ๋ธ๋์น - Develop ๋ธ๋์น๋ฅผ ๊ธฐ์ ์ผ๋ก ์ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ๊ฐ๋ฐ
- `feature/HELLO~001`: ๊ธฐํ๊ณผ ๋์์ธ์ ๋ฐ๋ผ ๊ฐ๋ฐ์์๊ฒ ๋ฐํ๋ ํฐ์ผ์ผ๋ก ๋ธ๋์น ๋ช
- `feature/login-with-oauth`: ์ด๋ค ์์
์ธ์ง ๋ฐ๋ก ์ ์ ์๋๋ก, ๊ธฐ๋ฅ ๋ด์ฉ์ ๋ํ ์์ฝ ๋ธ๋์น๋ช
- `cheonsang/login-with-oauth`: ๋ธ๋์น๋ช ์ ๊ฐ๋ฐ์ ๋ช ์ ๋ถ์ฌ๋ฃ๊ธฐ๋ํ๋ค.
- ๋ก์ปฌ์์ ๊ฐ๋ฐ์ ์๋ฃํ ๊ฒฝ์ฐ Develop ๋ธ๋์น์ PR์์ฒญ์ ํ์ฌ ๋ง์ง๋ง ํ
์คํธ๋ฅผ ์ค๋นํ๋ค.
- PR์์ฒญ์ ํตํด ๋ก์ปฌ์์ ์๋ฃ๋ ๊ฐ๋ฐ ์ฝ๋๋ฅผ ๊ฐ๋ฐ์๋ค์๊ฒ ์ต์ด ๋ ธ์ถํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ ์๋ค.
- PR์์ฒญ์ ํตํด Github Workflow๋ก CI(ํ ์คํ ) ํ์ดํ๋ผ์ธ์ ์ฐ๊ฒฐํ์๋ค๋ฉด, ์ฝ๋ ์ ํจ์ฑ ํ ์คํธ ๊ฐ๋ฅ
Git Commit ๋ฉ์ธ์ง๋ ์ ๊ฒฝ ์จ์ ์์ฑ
ํ ๋น๋ ํฐ์ผ์ด ๋ช ํํ ์๋ค๋ฉด ๊ทธ ํฐ์ผ๋ช ์ ์์ ์ ์ด์ฃผ๊ณ , ์ด๋ค ์์ ์ธ์ง์ ๋ํ ์์ฝ ์ค๋ช ์ ์ ๋ชฉ์ผ๋ก ์ด๋ค.
- ์) `[HELLO-001]ํ ์คํธ ์ฝ๋ ์์ฑ์ ์ํ ์ค๋น`
(์ ํ) ๊ทธ ์๋์ ์ด๋ค ์ธ๋ถ ์์ ์ด ์๋์ง ๋์ดํ๋ ๊ฒ์ด ์ข๋ค. ๋๋ฌด ๊ตฌ์ฒด์ ์ผ ํ์๋ ์์ผ๋ ์ธ์ ๋ด๋ ์ ์ ์๋๋ก ์์ฑํ๋๊ฒ Key Point.
[HELLO-001] ํ
์คํธ ์ฝ๋ ์์ฑ์ ์ํ ์ค๋น
- ์๋ก์ด ํ
์คํธ ์ผ์ด์ค ์ถ๊ฐ
- ๊ธฐ์กด ํ
์คํธ ์ฝ๋ ๋ฆฌํฉํ ๋ง
- Mock ๋ฐ์ดํฐ ์
๋ฐ์ดํธ
ํ ๋น๋ ํฐ์ผ์ ๋ช ์ํ์ง ์๊ณ , ์ด๋ค ์์ ์ธ์ง์ ๋ํ ํ์ ์ ์์ ๋ช ์ํ๊ณ , ์์ธ ๋ด์ฉ์ ์์ฑํด๋ธ๋ค.
- ์) `Feat: ํ ์คํธ ์ฝ๋ ์์ฑ์ ์ํ ์ค๋น`
โน๏ธ์ฐธ๊ณ
[ASAC 6๊ธฐ ๊ฐ์์๋ฃ]
https://techblog.woowahan.com/2553/
'๐ปDEV-STUDY > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git & GitHub #5 - Git ๊ตฌ์กฐ ๋ฐ ๋ช ๋ น์ด & Git ํธ๋ฌ๋ธ ์ํ (2) | 2024.09.01 |
---|---|
Git & GitHub #4 - Conflict ์ถฉ๋ ํด๊ฒฐ (0) | 2024.09.01 |
Git & GitHub #3 - Local Branch์์ Remote Branch ๋๊ธฐํ (4) | 2024.09.01 |
Git & GitHub #2 - Git ์์๊ณผ Local/Remote Branch ๊ด๋ฆฌ (1) | 2024.09.01 |
Git & GitHub #1 - ๊ฐ๋ ๋ฐ SSH ํค ์์ฑ (0) | 2024.08.31 |