#
Merge Options#
Merge๊ธฐ๋ณธ์ ์ธ Merge ๋ฐฉ๋ฒ์ผ๋ก ํ๋์ ๋ธ๋์น์ ๋ณ๊ฒฝ ์ด๋ ฅ ์ ์ฒด๋ฅผ ํฉ์น๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ ๋ณ๊ฒฝ ์ด๋ ฅ์ ๋ณํฉํ Merge commit์ด ์๋ก ์์ฑ๋๋ค.
#
Squash and merge๋ธ๋์น ์์ ๋ชจ๋ ์ปค๋ฐ์ ํ๋๋ก ๋ณํฉํ ๋ด์ฉ์ ๋ค๋ฅธ ๋ธ๋์น์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
PR์ ์๋ commit log๋ค์ ํ ๊ฐ์ ์ปค๋ฐ์ผ๋ก ์ถ๋ ค์ main ๋ธ๋์น์ ๋ณํฉํ ์ ์๊ธฐ ๋๋ฌธ์, 1 PR = 1 commit ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
#
์ฐธ๊ณ ์๋ฃ[Git] Merge ์ดํดํ๊ธฐ (Merge / Squash and Merge / Rebase and Merge)
6. Github์ผ๋ก ํ์ ํ๋ ๋ฒ
GitHub์ Merge, Squash and Merge, Rebase and Merge ์ ํํ ์ดํดํ๊ธฐ : TOAST Meetup
#
Rebase and Merge๋ธ๋์น ์์ ๋ชจ๋ commit๋ค์ ํฉ์น์ง ์๊ณ main ๋ธ๋์น์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
#
GitHub๊ณผ GitLab์ Squash and merge ์ฐจ์ด#
GitHubGithub์์๋ PR์ ๋ํ ๋จธ์ง ๋ฐฉ๋ฒ์ ๋ค์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ ๊ณตํ๋ค.
Squash and merge ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฒฝ์ฐ, Merge commit์ด ๋ฐ๋ก ์์ฑ๋์ง ์๊ณ , PR ํ์ดํ์ ์ปค๋ฐ ์ ๋ชฉ์ผ๋ก ํ๊ณ , ๋ธ๋์น์ commit log๋ค์ด ์ปค๋ฐ ๋ด์ฉ์ผ๋ก ์์ฑ๋๋ค.
#
GitLab๋ฐ๋ฉด, GitLab์์๋ MR์ ๋จธ์งํ ๋, Squash commits์ ์ต์ ์ ์ฒดํฌํ ์ ์๋๋ก ํ๋๋ฐ, GitHub๊ณผ ๋ฌ๋ฆฌ ๊ธฐ๋ณธ์ ์ผ๋ก Merge commit์ด ์์ฑ๋๋๋ก ์ค์ ๋์ด ์๋ค.
Merge commit์ ์์ฑํ์ง ์๊ธฐ ์ํด์๋ Fast-forward merge๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
Fast-Forward Merge๋ฅผ ์ฌ์ฉํ๊ณ Squash commits ์ต์ ์ ์ฒดํฌํ์ง ์์ผ๋ฉด, Rebase and Merge ์ฒ๋ผ ๋์ํ๋ค.
Fast-Forward Merge๋ฅผ ์ฌ์ฉํ๊ณ Squash commits ์ต์ ์ ์ฒดํฌํ๋ฉด Squash and Merge ์ฒ๋ผ ๋์ํ๋ค.
ํ์ง๋ง GitHub์์ ์๋์ ์ผ๋ก ์ปค๋ฐ ๋ฉ์์ง body์ ๋ธ๋์น์ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํด์ฃผ๋๋ฐ๋ฉด, GitLab์์๋ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํด์ฃผ์ง ์๋๋ค. Merge Request์ ๋ด์ฉ์ด ์๋ค๋ฉด์ด ๋ด์ฉ์ ๋ด์ ์ ์๊ณ , Modify commit message ๋ฒํผ์ ์ฌ์ฉํ์ฌ ์ง์ ์์ ํ๋ ๊ฒ๋๊ฐ๋ฅํ๋ค.