๐ Merge ๋ ๋จธ์ง,,?
Merge๋ ํ ๋ธ๋์น์ ๋ณ๊ฒฝ์ฌํญ์ ๋ค๋ฅธ ๋ธ๋์น์ ํตํฉํ๋ ๊ธฐ๋ฅ์ด๋ค.
Merge ๋ํด ์์๋ณด๊ณ Repository๋ฅผ ๊ด๋ฆฌํด๋ณด์.
git merge feature-branch
๐ฌ Merge (defualt)
์ผ๋ฐ์ ์ธ Merge๋ ๋ ๋ธ๋์น์ ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ๋ชจ๋ ์ ์งํ๋ฉด์ ์๋ก์ด Merge Commit์ ์์ฑํ๋ค.
ํน์ง์ผ๋ก๋
โ ๋ชจ๋ ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ๋ณด์กด๋๋ค.
โ Merge ์ปค๋ฐ์ด ์๋ก ์์ฑ๋๋ค.
โ ๋ธ๋์น์ ์์ ๋ด์ญ์ ๊ทธ๋๋ก ํ์ธ ๊ฐ๋ฅํ๋ค.
๐ฟ Squash Merge (์์ถ ๋ณํฉ)
์ฌ๋ฌ ์ปค๋ฐ์ ํ๋์ ์ปค๋ฐ์ผ๋ก ์์ถํ์ฌ ๋ณํฉํ๋ ๋ฐฉ์์ด๋ค.
ํ์ฌ ๋ธ๋์น์์ ๋ช ๊ฐ์ ์ปค๋ฐ์ ์์ฑํ์ฌ๋, ๋จธ์ง ๋๋ ๋ธ๋์น์๋ ํ๋์ ์ปค๋ฐ ๋ฉ์์ง๋ง ๋จ๊ฒ ๋์ด ํ์คํ ๋ฆฌ๋ฅผ ๋จ์ํํ๋ค.
feature ๋ธ๋์น์ ํ์คํ ๋ฆฌ๋ฅผ ๊น๋ํ๊ฒ ํ๊ธฐ ์ํด์๋ ์์ฑ๋๋ค.
ํน์ง์ผ๋ก๋
โ ์ฌ๋ฌ ์ปค๋ฐ์ ํ๋์ ์ปค๋ฐ์ผ๋ก ์์ถํ์ฌ ํ์คํ ๋ฆฌ๋ฅผ ๊น๋ํ๊ฒ ์ ์งํ๋ค.
โ ์ต์ข ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ๋ฆฌํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ ๊ณผ์ ์์ ๋ ผ์๋ ์ฌํญ์ ๋ฐ์ํ ์ ์๋ค.
โ PR(ํ ๋ฆฌํ์คํธ)๋ฅผ ํตํด ์ธ๋ถ ์ปค๋ฐ ๋ด์ญ ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
current branch - parent_branch
git merge --squash child_branch
git commit -m "commit_message"
๐ฑ Rebase Merge (๋ฆฌ๋ฒ ์ด์ค ๋ณํฉ)
๋ณํฉํ ๋ธ๋์น์ ์ปค๋ฐ์ ๋์ ๋ธ๋์น์ ์ปค๋ฐ ์๋ก ์ฌ๋ฐฐ์นํ ํ ๋ณํฉํ๋ค.
Rebase์ ๊ฒฝ์ฐ Merge Commit ๊ธฐ๋ก์ด ๋จ์ง ์์ ํ๋์ ๋ธ๋์น์์์ ์์ ์ฒ๋ผ ๋ณด์ฌ์ง๋ค.
ํน์ง์ผ๋ก๋
โ ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ์ง์ ํ์ผ๋ก ์ ์ง๋๋ฉฐ, ํ์คํ ๋ฆฌ๊ฐ ๊น๋ํ๊ณ ์ดํดํ๊ธฐ ์ฝ๋ค.
โ ์๋์ ์ปค๋ฐ ์ด๋ ฅ์ด ๋ณ๊ฒฝ๋๋ฏ๋ก ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.
current branch - child_branch
git rebase parent_branch
git checkout parent_branch
git merge child_branch
์์ฑ์๋ GitHub์์ Squash Merge๋ฅผ ์ค์ ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค.
'DevOps > GitHub' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ GitHub ] - ๋ชจ๋ ธ๋ ํฌ: ํ๋ก์ ํธ๋ฅผ ํ๋์ ๋ ํฌ์งํ ๋ฆฌ์ ๊ด๋ฆฌํด๋ณด์. (2) | 2024.12.27 |
---|---|
[ GitHub ] ์๊ฒฉ ์ ์ฅ์ ํ๋ก์ ํธ ๋ฒ์ ๊ด๋ฆฌํ๊ธฐ (0) | 2024.04.11 |
[ GitHub ] ํ์ ์ ์ํ SSH Key ๊ณต๊ฐํค๋ฅผ ์์ฑํด๋ณด์. (0) | 2024.04.11 |
[ GitHub ] Repository ์๊ฒฉ ์ ์ฅ์ ์ด์ฉํด๋ณด์. (0) | 2024.04.11 |
[ GitHub ] Git / GitHub ์ฐจ์ด ๋ฐ ์ดํดํ๊ธฐ (0) | 2024.02.22 |