DEV_IN/Git&Github
Git [merge]
๋ค๋น์น์ฝ๋๐
2023. 2. 8. 18:00
merge ๋ฐฉ๋ฒ
๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ๋๋๋ฉด ๋ธ๋์น๋ฅผ main ๋ธ๋์น์ ํฉ์น ์ ์์ต๋๋ค.
๋จธ์ง๋ feature ๋ธ๋์น๋ ์ด๋ฏธ dev ๋ธ๋์น์ ๊ธฐ๋ก์ด ์๋ฒฝํ๊ฒ ๋จ์์๊ธฐ ๋๋ฌธ์ ๊ตณ์ด ๋จ๊ฒจ๋ ์ด์ ๊ฐ ์์ด ์ญ์ ๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ pull request๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ฌด๋ฆฌ๋๋ฉด, ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ ๋ฒํผ์ ๋๋ฌ ์ฝ๊ฒ ์ญ์ ํ ์ ์์ต๋๋ค.
๋ก์ปฌ์์ merge ์๋ฃ๋ ๋ธ๋์น ์ญ์ ๋ฐฉ๋ฒ
git branch -d ๋ธ๋์น๋ช
//merge์ํ ๋ธ๋์น ์ญ์
git branch -D ๋ธ๋์น๋ช
case 1. ๊ฐ ๋ธ๋์น์ ์ ๊ท commit์ด ์๋ ๊ฒฝ์ฐ => 3 way merge
git switch main //๋ฉ์ธ ๋ธ๋์น๋ก ์ด๋
git merge feat //feat ๋ธ๋์น๋ฅผ main๋ธ๋์น๋ก ๋ณํฉ
- ์ค์ฌ ๋ธ๋์น๋ก ์ด๋ํด์
- git merge [์๋ก์ด branch๋ช ]
- ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์๋๋ค!
case 2. ๊ธฐ์ค main branch์๋ ์ ๊ท commit์ด ์๊ณ ์๋ก ์์ฑํ ๋ธ๋์น์๋ง ์ ๊ท commit์ด ์๋ ๊ฒฝ์ฐ ⇒ fast-forward merge
- ์๋ก์ด ๋ธ๋์น, ๋๊ฐ mainํด๋ผ!
case 3. git rebase & merge
- ์๋ก์ด branch๋ก ์ด๋ํด์
- git rebase [์ค์ฌ ๋ธ๋์น๋ช ]
- ์ค์ฌ ๋ธ๋์น๋ก ์ด๋ํด์
- git merge [์๋ก์ด ๋ธ๋์น๋ช ]
- ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์๋๋ค1
case 4. squash & merge
- ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์๋๋๊ฒ ์๋ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ๋ง ๊น๋ํ๊ฒ ๋ฑ!
- git merge --squash [์ ๋ธ๋์น]