Git Merge
์๋ก ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ํ๋๋ก ํตํฉํ๋ Git์ ํต์ฌ ๋ช
๋ น์ด๋ก, ๋ธ๋์น ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ํ๋์ ๋ธ๋์น๋ก ๊ฒฐํฉํฉ๋๋ค.
Git Merge ๋ช ๋ น์ด
๊ธฐ๋ณธ ๋ช ๋ น์ด
git merge [๋ธ๋์น๋ช
]
Bash
๋ณต์ฌ
ํ์ฌ ๋ธ๋์น | ๋ช
๋ น์ด | ์ ์ฉ ๋ฐฉํฅ | ์ค๋ช
|
aloha | git merge main | main | main ์ ๋ณ๊ฒฝ ์ฌํญ์ aloha ์ ๋ณํฉํฉ๋๋ค. |
main | git merge aloha | aloha | aloha ์ ๋ณ๊ฒฝ ์ฌํญ์ main ์ ๋ณํฉํฉ๋๋ค. |
๋ณํฉ ์ปค๋ฐ ๋ฉ์์ง ์์ฑ
git merge -m "์ปค๋ฐ ๋ฉ์์ง" [๋ธ๋์น๋ช
]
Bash
๋ณต์ฌ
Fast-forward ๋ณํฉ
git merge --ff [๋ธ๋์น๋ช
]
Bash
๋ณต์ฌ
Fast-forward ๋ณํฉ์ ํ์ฌ ๋ธ๋์น์ ๋ณํฉํ๋ ค๋ ๋ธ๋์น๊ฐ ์ง์ ์ ์ธ ๊ด๊ณ์ผ ๋ ์ฌ์ฉ๋๋ ๋ณํฉ ๋ฐฉ์์
๋๋ค. ์ฆ, ํ ๋ธ๋์น๊ฐ ๋ค๋ฅธ ๋ธ๋์น๋ณด๋ค ์ต์ ์ธ ์ํ์์ ๋ณํฉ์ด ์ด๋ฃจ์ด์ง๋๋ค.
Fast-forward ๋ณํฉ์ ํน์ง:
โข
์๋ก์ด ๋ณํฉ ์ปค๋ฐ์ ์์ฑํ์ง ์๊ณ ๋ธ๋์น ํฌ์ธํฐ๋ง ์ด๋ํฉ๋๋ค.
โข
ํ์คํ ๋ฆฌ๊ฐ ๋จ์ํ๊ณ ๊น๋ํ๊ฒ ์ ์ง๋ฉ๋๋ค.
โข
๋ธ๋์น ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ถฉ๋ํ์ง ์์ ๋๋ง ๊ฐ๋ฅํฉ๋๋ค.
Fast-forward ๋ณํฉ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ:
โข
๋ ๋ธ๋์น๊ฐ ์๋ก ๋ค๋ฅธ ์ปค๋ฐ์ ๊ฐ์ง๊ณ ์์ ๋
โข
๋ณํฉํ๋ ค๋ ๋ธ๋์น๋ค์ด ๋ถ๊ธฐ๋ ์ดํ ๊ฐ๊ฐ ์๋ก์ด ์ปค๋ฐ์ด ์๋ ๊ฒฝ์ฐ
# Fast-forward ๋ณํฉ ๊ฐ์ ๋ก ๋นํ์ฑํ
git merge --no-ff [๋ธ๋์น๋ช
]
# Fast-forward ๋ณํฉ๋ง ํ์ฉ (๋ณํฉ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์คํจ)
git merge --ff-only [๋ธ๋์น๋ช
]
Bash
๋ณต์ฌ
Merge ์ต์
์ต์
| ์ค๋ช
|
--ff | Fast-forward ๋ณํฉ ์ํ (๊ธฐ๋ณธ๊ฐ) |
--no-ff | ํญ์ ์๋ก์ด ๋ณํฉ ์ปค๋ฐ ์์ฑ |
--squash | ๋ธ๋์น์ ๋ชจ๋ ์ปค๋ฐ์ ํ๋๋ก ์์ถํ์ฌ ๋ณํฉ |
--abort | ๋ณํฉ ์ถฉ๋ ์ ๋ณํฉ ์์
์ทจ์ |
--continue | ์ถฉ๋ ํด๊ฒฐ ํ ๋ณํฉ ๊ณ์ ์งํ |