Git Merge Policy
Merge Commit
- ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ณํฉ ๋ฐฉ๋ฒ์ด๋ค.
git merge๋ช ๋ น์ด๋ฅผ ํตํด ๋ณํฉ์ ์งํํ๋ค.- ์ปค๋ฐ์ด ๋ฐ์ํ ์๊ฐ ์์๋๋ก ๋ณํฉ์ด ๋๋ค.
- ์ฅ์
- ๋ณํฉ๋ ๋ธ๋์น๊ฐ ์ญ์ ๋๋, ํ์คํ ๋ฆฌ๋ ๋จ์์๊ธฐ ๋๋ฌธ์ ์ด๋ค ๋ธ๋์น์์ ๋ณํฉ์ด ๋๋์ง ํ์ธํ ์ ์๋ค.
- ๋จ์
- ๋ธ๋์น๊ฐ ์ฌ๋ฌ ๊ฐ๋ก ๋๋ ์ง ๊ฒฝ์ฐ ํ์คํ ๋ฆฌ ๊ทธ๋ํ์ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค.
- ๋ํ, ๋ณํฉ๋ ๋ธ๋์น์ ์ปค๋ฐ์ด ๋ชจ๋ ๋ฐ์๋๊ธฐ ๋๋ฌธ์ ์ปค๋ฐ ๊ธฐ๋ก ๋ํ ๊ฐ๋
์ฑ์ด ๋จ์ด์ง๋ค.


- ๋ฉ์ธ ๋ธ๋์น์ ์ปค๋ฐ ๊ธฐ๋ก์ ๋ณด๋ฉด, A์ B ๋ธ๋์น์ ์ปค๋ฐ ๊ธฐ๋ก์ด ์๊ฐ ์์๋๋ก ๋ค์ด๊ฐ์์ ํ์ธํ ์ ์๋ค.
Squash and Merge
- ์ฌ๋ฌ ๊ฐ์ ์ปค๋ฐ์ ํ๋์ ์ปค๋ฐ์ผ๋ก ํฉ์น ํ ๋ณํฉํ๋ค.
git merge --squash๋ช ๋ น์ด๋ฅผ ํตํด ๋ณํฉ์ ์งํํ๋ค.- ์ฅ์
- ๋ณํฉํ ๋ธ๋์น์ ์ปค๋ฐ์ด ํ๋๋ก ํฉ์ณ์ง๊ธฐ ๋๋ฌธ์, ํ์คํ ๋ฆฌ ํน์ ๊ทธ๋ํ์ ๊ฐ๋ ์ฑ์ด ์ข์์ง๋ค.
- ๋จ์
- ์ปค๋ฐ์ด ํ๋๋ก ํฉ์ณ์ง๊ธฐ ๋๋ฌธ์, ๋ณ๊ฒฝ๋ ์ฌํญ๋ค์ ๋ํด ์์ธํ ์ ๋ณด๋ฅผ ์๊ธฐ ์ด๋ ต๋ค.
- ์ปค๋ฐ ๋ฉ์์ง์ ๋ณ๋๋ก ๋จ๊ธฐ์ง ์๋ ์ด์, ์ด๋ค ๋ธ๋์น์์ ๋ณํฉ์ด ๋๋์ง ์๊ธฐ ์ด๋ ต๋ค.


- ๋ธ๋์น ์ญ์ ์ค๋ฅ
- Squash and Merge๋ฅผ ์งํํ๊ณ ๋ธ๋์น๋ฅผ ์ญ์ ํ ๋ ค๊ณ ํ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋์๋ค.
- ๋ฉ์์ง์ ๋ด์ฉ์
A ๋ธ๋์น๊ฐ ์์ ํ ๋ณํฉ๋์ง ์์๋ค์ด๋ค. - git graph๋ฅผ ๋ณด๋ฉด, A ๋ธ๋์น์ B ๋ธ๋์น๊ฐ main ๋ธ๋์น์ ์ฐ๊ฒฐ๋์ง ์๊ณ , ๋ ๋ฆฝ์ ์ธ ์ํ์์ ํ์ธํ ์ ์๋ค.
- Squash and Merge์์๋ง ๋ฐ์ํ ๊ฑด์ง ํ์ธํ๊ธฐ ์ํด Commit merge๋ฅผ ์งํํ๊ณ ๋ธ๋์น๋ฅผ ์ญ์ ํด๋ดค๋ค.


- ์ ์์ ์ผ๋ก ๋ธ๋์น๊ฐ ์ญ์ ๋จ์ ํ์ธํ ์ ์์๋ค.
- Squash and Merge ์ดํ ๋ณํฉ์์ด ๋ธ๋์น๋ฅผ ์ญ์ ํ๊ณ ์ถ๋ค๋ฉด, `git branch -D ๋ธ๋์น๋ช
` ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.


Rebase and Merge
- Rebase : ๋ธ๋์น์ base(๊ณตํต ์กฐ์, ๊ธฐ๋ฐ)๋ฅผ ์ฎ๊ธด๋ค
- ๋ง์ง๋ง์ผ๋ก ๋ณํฉ๋๋ ๋ธ๋์น์ ์ปค๋ฐ์ ๋ค์ ๋ถ์ธ๋ค.
- git checkout โ๋ณํฉํ ๋ธ๋์น ์ด๋ฆโ
- git rebase main
- ๋ณํฉํ ๋ธ๋์น์ ์ปค๋ฐ๋ค์ด main ๋ธ๋์น์์ ์์๋ ๊ฒ ์ฒ๋ผ ์ ๋ ฌ๋๋ค.

- ๋ณํฉํ ๋ธ๋์น์ ์ปค๋ฐ๋ค์ด main ๋ธ๋์น์์ ์์๋ ๊ฒ ์ฒ๋ผ ์ ๋ ฌ๋๋ค.

- ๋จ, main ๋ธ๋์น์ ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด ์์ง C ๋ธ๋์น์ ์ปค๋ฐ์ด ์๋ค.

- git checkout main
- git merge โ๋ณํฉํ ๋ธ๋์น ์ด๋ฆโ
- ์ ์์ ์ผ๋ก C ๋ธ๋์น๊ฐ main ๋ธ๋์น์ ๋ณํฉ๋จ์ ํ์ธํ ์ ์๋ค.

- ์ฅ์
- ํ์คํ ๋ฆฌ ๊ทธ๋ํ๋ฅผ ๋จ์ํ๊ฒ ํ ์ค๋ก ๋ง๋ค์ด์ค๋ค.
- ํ์คํ ๋ฆฌ ๊ทธ๋ํ๋ฅผ ๋จ์ํ๊ฒ ๋ง๋ค๋ฉด์, ๋ณํฉ๋๋ ๋ธ๋์น์ ์ปค๋ฐ ๊ธฐ๋ก๊น์ง ๋ฐ์์ด ๋๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ ์๋ค.
- ๋จ์
- ์ด๋ค ๋ธ๋์น์์ ์ด๋ ์์ ์ ๋ณํฉ์ด ์งํ๋๋ ์ง ์ ์ ์๋ค.
- rebase ๊ณผ์ ์์ ๋ธ๋์น์ ์ปค๋ฐ ํ๋ํ๋ ์ถฉ๋์ ํด๊ฒฐํ๊ธฐ ๋๋ฌธ์, ์ปค๋ฐ์ด ๋ง์ ์ํ์์ ์ถฉ๋์ด ๋ฐ์ํ ๊ฒฝ์ฐ ์ถฉ๋์ ํด๊ฒฐํ ์์ด ๋ง์ ์ง๋ค๊ณ ํ๋ค.