๋จธ์ง€(merge)

๐Ÿ“„ ๋จธ์ง€(merge)

๋…๋ฆฝ๋œ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…์ด ๋๋‚˜๋ฉด ๋‹ค์‹œ ์›๋ณธ ๋ธŒ๋žœ์น˜์— ์ž‘์—…ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“„ fast-forward merges

์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ–ˆ์„ ๋•Œ merge๋ฅผ ํ•  ๊ฒฝ์šฐ,
master ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋˜ ํฌ์ธํ„ฐ๋ฅผ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค..
์ด๋•Œ, ํžˆ์Šคํ† ๋ฆฌ์— merge๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์ด ๋‚จ์ง€ ์•Š๊ณ  ๊น”๋”ํ•˜๊ฒŒ merge๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆœ์„œ

  1. git checkout master
    master ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  2. git merge (๋…๋ฆฝ๋œ ๋ธŒ๋žœ์น˜๋ช…)
    ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  3. git branch -d (๋ณ‘ํ•ฉ๋œ ๋ธŒ๋žœ์น˜๋ช…)
    ๋”์ด์ƒ ํ•„์š”์—†๊ฒŒ ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“„ fast-forward๊ฐ€ ํ•˜๊ธฐ ์‹ซ์„ ๋•Œ

ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ƒ์„ธํžˆ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•  ๊ฒฝ์šฐ
git merge --no-ff feature๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ fast-forward merges๊ฐ€ ๋˜๋Š”๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“„ fast-forward๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ

์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ์ด ๋˜๊ณ  ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ, fast-forward๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ๋˜๋ฉด Three-way merge๋ฅผ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
master ๋ธŒ๋žœ์น˜์™€ ํŒŒ์ƒ๋œ ๋ธŒ๋žœ์น˜์˜ ๋ณ€๋™์‚ฌํ•ญ์„ ๋ชจ๋‘ ํ•ฉํ•ด์„œ merge commit์„ ๋งŒ๋“  ๋‹ค์Œ,
master branch์— commit์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

merge

์ด๋ ‡๊ฒŒ merge commit๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ 

  • ๋“œ๋ฆผ์ฝ”๋”ฉ

Leave a comment