Github

fast-forward์™€ 3-way merge

kelly09 2024. 5. 7. 22:52

๐Ÿฐ Fast-forward merge

: ๋ณ‘ํ•ฉํ•  ๋ธŒ๋žœ์น˜๊ฐ€ ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜์˜ ๋ชจ๋“  commit์„ ์ด๋ฏธ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ

  • ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜์— ์‹ ๊ทœ commit ์—†์„ ๋•Œ
  • ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜์˜ HEAD๋ฅผ ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ HEAD๋กœ ์ด๋™์‹œํ‚ด์œผ๋กœ์จ ๋ณ‘ํ•ฉ ์™„๋ฃŒ ๊ฐ€๋Šฅ
  • ์ƒˆ๋กœ์šด ๋ณ‘ํ•ฉ ์ปค๋ฐ‹ ์ƒ์„ฑ X
  • merge ์™„๋ฃŒํ•œ ๋ธŒ๋žœ์น˜๋Š” ์‚ญ์ œํ•ด๋„ ๋จ git branch -d <๋ธŒ๋žœ์น˜๋ช…>

fast-forward merge

๐Ÿฐ 3 - way merge

: ๋ธŒ๋žœ์น˜ ๊ฐ„ ๋ณ‘ํ•ฉ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•

  • ๊ธฐ๋ณธ์ ์œผ๋กœ git์€ ์„ธ ๊ฐœ์˜ ๋ธŒ๋žœ์น˜ ์‚ฌ์šฉ(main, ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋ธŒ๋žœ์น˜, ๋ณ‘ํ•ฉํ•  ๋Œ€์ƒ ๋ธŒ๋žœ์น˜)
  • ๊ฐ ๋ธŒ๋žœ์น˜์— ์‹ ๊ทœ commit ์žˆ์„ ๋•Œ
  • Git์€ ์ด ์„ธ ๊ฐœ์˜ ๋ธŒ๋žœ์น˜๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฐพ์Œ
  • ์ด ๋•Œ ๊ณตํ†ต ์กฐ์ƒ(ancestor) commit ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ฒฐ์ •
  • ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถฉ๋Œํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ git์€ ์ž๋™์œผ๋กœ ๋ณ‘ํ•ฉ ์ง„ํ–‰, ์ƒˆ๋กœ์šด ๋ณ‘ํ•ฉ ์ปค๋ฐ‹ ๋งŒ๋“ฆ
  • ์ถฉ๋Œ ๋ฐœ์ƒ ์‹œ ์ˆ˜๋™์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•จ

3-way merge