โ๏ธ ๋ถํธ์บ ํ์์ ํํ๋ก์ ํธ๋ฅผ ์ํํ๋ฉด์, git merge๋ง ์ฌ์ฉํ์๋ ๊ธฐ์ต์ด ์๋ค.
โ๏ธ ํ์ฌ์ ์
์ฌํ๊ณ ๋ ํ, ์ฌ๋ฌ๋ช
์ด ํ๋์ ํ๋ก์ ํธ์ ํฌ์
๋์๋๋ฐ ๋จ์ํ git merge
๋ง ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ฌ๋ฌ ๋ฌธ์ ์ ์ด ์ ๋ฐ๋ ์ ์์์ ์ธ์ํ๊ฒ ๋์๋ค.
(๋ณต์กํ๊ฒ ์ปค๋ฐ๊ทธ๋ํ๊ฐ ์ฝํ์๋ ๋ชจ์ต)
1๏ธโฃ์ปค๋ฐ ๊ทธ๋ํ๊ฐ ์ฝํ์์ด ๋ณ๊ฒฝ ์ฌํญ์ ํ์
ํ๊ธฐ ํ๋ฆ
2๏ธโฃ์๋๋ฐฉ์ด ์์
ํ์ฌ ์ปค๋ฐํ ๊ฒฐ๊ณผ๋ฌผ์ ๋์ ์ปค๋ฐ์ด ๋ฌ๋ผ๋ถ์ด ์ฝํ์๋ ๋ชจ์ต
๊ทน๋จ์ ์ผ๋ก, Merge๋ง ํ ๊ฒฝ์ฐ, ์์ฒญ๋๊ฒ ๋ณต์กํ ์ปค๋ฐ ํ์คํ ๋ฆฌ
๊ฐ ์์ฑ๋ ์ ์๋ค.
์ด๋ฐ ๊ฒฝ์ฐ, ์ด์ ๊ทธ๋ํ์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ, ์ปค๋ฐ์ ์ ์ถ์ ํ ์ ์์๊น?
โ Git Merge
Git Merge๋ ์ฌ๋ฌ branch๋ค์ด ์กด์ฌํ ๋, ํ๋์ branch๋ก ํตํฉ์ํค๋ ๊ฐ๋ ์ด๋ค.
โ Git Rebase
Git Rebase๋ branch์ base๋ฅผ ์ฌ์ค์ ํ๋ค๋ ๊ฐ๋ ์ด๋ค.
์ฆ, ํ๋์ ๋ธ๋์น๊ฐ ๋ค๋ฅธ ๋ธ๋์น์์ ํ์๋์ ๋์จ ๊ฒฝ์ฐ, ๋ค๋ฅธ ๋ธ๋์น์์ ์งํ๋ ์ปค๋ฐ์๋ค์ ๊ฐ์ ธ์
base๋ฅผ์ฌ์ค์
ํ๋๊ฒ.
๋์ ์๋๋ฐฉ์ด ๋์์ ์์ ์ ํ๊ณ , ์๋๋ฐฉ์ด ๋จผ์ ์ปค๋ฐ์ ํ๋ค๋ฉด,์๋๋ฐฉ์ ์๋ก์ด ์ปค๋ฐ์ base
๋ก ํ๋ ๋ฐฉ์์ผ๋ก ๋ณํฉ ์, conflict ์์ด ๋์ ์์ ๋ฌผ์ ๋ฐ์ํ ์ ์๋ค.
ํ์ฌ์์ ์งํ์ค์ธ ํ๋ก์ ํธ์ ์ปค๋ฐ ๊ทธ๋ํ
git checkout fe/contract
git add
git commit
git pull -r upstream '์๊ฒฉ๋ธ๋์น'
git push 'origin ๋ธ๋์น'
pull request
๐งโ๐ git pull -r upstream '์๊ฒฉ๋ธ๋์น'๋...
push ์ด์ ์ ๋ค๋ฅธ ์์
๊ฒฐ๊ณผ๋ฌผ์ pullํ๋ฉด์ -r์ต์
(rebase)์ ์ ์ฉํ๋ ๋ฐฉ์
https://www.atlassian.com/ko/git/tutorials/rewriting-history/git-rebase