git merge, rebase
git merge
3-way-merge

๋ธ๋์น์ ๊ฐ๊ฐ ์ ๊ท commit์ด 1ํ ์ด์ ์๋ ๊ฒฝ์ฐ, git merge ๋ช ๋ น์ ๋ด๋ฆฌ๋ฉด ๋ ๋ธ๋์น์ ์ฝ๋๋ฅผ ํฉ์ณ์ ์๋ก์ด commit์ ์๋์ผ๋ก ์์ฑํด์ฃผ๋ ๊ฒ โ merge์ ๊ธฐ๋ณธ ๋์๋ฐฉ์
fast-forward merge

๊ฐ๋์ ์๋ก์ด ๋ธ๋์น์๋ง commit ์ด ์๊ณ ๊ธฐ์ค์ด ๋๋ ๋ธ๋์น์๋ ์ ๊ท commit ์ด ์๋ ๊ฒฝ์ฐ, mergeํ๋ฉด "fast-forward merge ๋์๋ค" ๋ผ๊ณ ํจ. ์ด๋ ๋ฑํ ํฉ์น ๊ฒ์ด ์์ด ์ ๊ท๋ธ๋์น์๊ฒ "์ง๊ธ๋ถํฐ ๋๋ main ๋ธ๋์น๋ค" ๋ผ๊ณ ํ๋ ๊ฒ์. ๋ฌผ๋ก 3-way merge ๊ฒฐ๊ณผ์ ๊ฐ์
git rebase & merge

๋ธ๋์น์ ์์์ ์ ๋ค๋ฅธ commit์ผ๋ก ์ฎ๊ฒจ์ฃผ๋ ๊ฒ rebase๋ก ์ ๊ท๋ธ๋์น์ ์์์ ์ main ๋ธ๋์น ์ต๊ทผ commit์ผ๋ก ์ฎ๊ธด ๋ค์, fast-forward mergeํ๋ฉด ๋จ
git switch {์๋ก์ด ๋ธ๋์น}
git rebase main
git switch main
git merge {์๋ก์ด ๋ธ๋์น}
git squash & merge

์์ ํด๋์์ staging area๋ก ์ฎ๊ฒจ์ฃผ๋ฉด์ commitํ ํ์ผ๋ค staging ํ๊ธฐ
git switch main
git merge --squash {branch๋ช
}
git commit -m '๋ฉ์ธ์ง'
Last updated