๐ [Git] ํผ์์ ํ์ ์ฒ๋ผ Git ์ฐ์ตํ๊ธฐ
![๐ [Git] ํผ์์ ํ์
์ฒ๋ผ Git ์ฐ์ตํ๊ธฐ](/assets/img/thumbnail/git-thumbnail.png)
ํผ์์ ํ์ ์ฒ๋ผ Git ์ฐ์ตํ๊ธฐ
๐ง ์์ํ๋ฉฐ
ํผ์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์๋ ํ์
ํ๋ ๊ฒ์ฒ๋ผ Git์ ์ฐ๋ ์ต๊ด์ ๋์ค์ ํ ํ๋ก์ ํธ์ ์ฐธ์ฌํ ๋ ํฐ ๋์์ด ๋ฉ๋๋ค.
์ด๋ฒ์๋ ์ ๊ฐ ์ง์ ํผ์์ ํ์
ํ๊ฒฝ์ ์ฐ์ตํด๋ณด๊ธฐ ์ํด ์ค์ ํ ํ๋ฆ์ ์ ๋ฆฌํด๋ด
๋๋ค.
๐ ๋ธ๋์น ๊ฐ์
main
ย : ๋ฐฐํฌ์ฉ (ํญ์ ์์ ๋ ์ํ ์ ์ง)dev
ย : ํตํฉ ๊ฐ๋ฐ์ฉ (๊ธฐ๋ฅ ๋ธ๋์น๋ฅผ ์ฌ๊ธฐ๋ก merge)feature/*
ย : ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ธ๋์น (๊ธฐ๋ฅ๋ณ ์ธ๋ถํ)
๐ 1. ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ง๋ค๊ธฐ
git add .
git commit -m "init commit"
git branch -M main
git remote add origin [์๊ฒฉ ์ ์ฅ์ ์ฃผ์]
git push -u origin main
๐ฟ 2. dev
๋ธ๋์น ์์ฑ (ํ์
์ฉ ๊ฐ๋ฐ ๋ธ๋์น)
git checkout -b dev
git push -u origin dev
- ์ด์ ๊ฐ๋ฐ ์์
์ ๋ชจ๋
dev
์์ ์์ํฉ๋๋ค. main
์ ์ค์ง ๋ฆฌ๋ทฐ ๋ฐ ํ ์คํธ ์๋ฃ๋ ์ฝ๋๋ง ๋จธ์งํฉ๋๋ค.
๐ ๏ธ 3. ๊ธฐ๋ฅ ๋ธ๋์น ๋๋ ์ ์์ ํ๊ธฐ
git checkout -b feature/search
git add .
git commit -m "๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํ"
git push -u origin feature/search
git checkout -b feature/submenu
git add .
git commit -m "์๋ธ ๋ฉ๋ด ๊ตฌํ"
git push -u origin feature/submenu
- ๊ธฐ๋ฅ ๋จ์๋ก
feature/*
๋ธ๋์น๋ฅผ ์์ฑํ์ฌ ์์ ํ๊ณ , ์๋ฃ๋๋ฉดdev
๋ก PR(Pull Request)ํฉ๋๋ค.
๐ 4. PR ์๋ฎฌ๋ ์ด์
: feature
โ dev
โ main
feature/search
โdev
๋ก Pull Request- ํผ์์ง๋ง ์ฝ๋ ๋ฆฌ๋ทฐ ์๋ฎฌ๋ ์ด์ (์์ ์๊ฒ ์ฝ๋ฉํธ ๋ฌ๊ธฐ)
merge
์๋ฃ ํdev
ํ์ธdev
์์ ์ผ์ ์์ค ํตํฉ๋๋ฉด โmain
์ผ๋ก ๋ฐฐํฌ
# ๋ฐฐํฌ ์ ๋ณํฉ (ํ
์คํธ ์๋ฃ ๊ฐ์ )
git checkout main
git merge dev
git push origin main
โ๏ธ 5. ์ถฉ๋ ์ํฉ ์ผ๋ถ๋ฌ ๋ง๋ค์ด๋ณด๊ธฐ
feature/search
์ feature/submenu
๊ฐ์ ๋ถ๋ถ์ ์์ ํ commit ์ํฉ์์ merge๋ฅผ ํด๋ณผ๊ฒ์ด๋ค.
๊ฐ ๋ธ๋์น์์ ์์ ํ์ผ์ด ๊ฐ์๋ ์์ ์์น๊ฐ ๋ค๋ฅด๋ฉด merge
๊ฐ๋ฅ but ์์ ํ ์์น๊ฐ ๊ฐ์ผ๋ฉด ์ถฉ๋์ด ์ผ์ด๋๋ค.
feature/search
์์ ๊ฐ์ ํ์ผ ์ผ๋ถ ์์ ํcommit
feature/submenu
์์๋ ๊ฐ์ ๋ถ๋ถ ์์ ํcommit
- ๋ ๋ธ๋์น๋ฅผ
dev
์ mergeํ ๋ ์ถฉ๋ ๋ฐ์ git status
๋ณด๊ณ ์๋์ผ๋ก ์ถฉ๋ ํด๊ฒฐ
git checkout dev
git merge feature/search
git merge feature/submenu
# >> ์ถฉ๋ ๋ฐ์
# ํ์ผ ์์ ํ:
git add .
git commit -m "์ถฉ๋ ํด๊ฒฐ"
๐ฆ 6. ๋ธ๋์น ์ ๋ต ์๊ฐํ
main (๋ฐฐํฌ)
โ
โโโ dev (ํตํฉ ๊ฐ๋ฐ)
โ โโโ feature/search
โ โโโ feature/submenu
โ โโโ feature/user-profile
๐ฌ ๋ง๋ฌด๋ฆฌ
Git ๊ด๋ฆฌ๋ ๋์ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๊ณ ์์
๋ฌผ์ ์์ธํ ๊ธฐ๋กํ๋ ๊ณต๊ฐ์
๋๋ค. ํผ์์ Git์ ๊ด๋ฆฌํ ๋ ๋ณด๋ค ํ ๋จ์๋ก ํ์
์ ํ ๋ ๊ทธ ์ค์์ฑ์ ๋ ํฌ๊ฒ ๋๋๊ฒ์
๋๋ค. ์ค๋ฌด์์ ํ์
์ ๋ธ๋์น ์ ๋ต๋ถํฐ ๋ฆฌ๋ทฐ ๋ฐฉ์๊น์ง ๋ชจ๋ ์ค์ํฉ๋๋ค.
ํผ์๋ผ๋ ์ด๋ฐ ํ๋ฆ์ ์ฐ์ตํด๋๋ฉด ์ค์ ํ ํ๋ก์ ํธ์์๋ ๋น ๋ฅด๊ฒ ์ ์ํ ์ ์์ต๋๋ค.