Search

Git Merge

Git Merge

์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋ฅผ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜๋Š” Git์˜ ํ•ต์‹ฌ ๋ช…๋ น์–ด๋กœ, ๋ธŒ๋žœ์น˜ ๊ฐ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Git Merge ๋ช…๋ น์–ด

๊ธฐ๋ณธ ๋ช…๋ น์–ด

ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉ
git merge [๋ธŒ๋žœ์น˜๋ช…]
Bash
๋ณต์‚ฌ
ํ˜„์žฌ ๋ธŒ๋žœ์น˜
๋ช…๋ น์–ด
์ ์šฉ ๋ฐฉํ–ฅ
์„ค๋ช…
aloha
git merge main
main aloha
main ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ aloha ์— ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
main
git merge aloha
aloha main
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
์ถฉ๋Œ ํ•ด๊ฒฐ ํ›„ ๋ณ‘ํ•ฉ ๊ณ„์† ์ง„ํ–‰