minTech

[Git] ๋ธŒ๋žœ์น˜๋ฅผ merge ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ณธ๋ฌธ

Git

[Git] ๋ธŒ๋žœ์น˜๋ฅผ merge ํ•˜๋Š” ๋ฐฉ๋ฒ•

pushzzeong 2024. 1. 13. 16:20

๐Ÿคท‍โ™‚๏ธ์™œ ๋ธŒ๋žœ์น˜ merge ์ „๋žต์„ ์•Œ์•„์•ผํ• ๊นŒ?

๋ธŒ๋žœ์น˜ ๋จธ์ง€ ์ „๋žต์—๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ์กด์žฌํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฐฉ๋ฒ•๋“ค์ด ์™œ ์กด์žฌํ•˜๊ณ , ์šฐ๋ฆฌ๋Š” ์™œ ์•Œ์•„์•ผํ• ๊นŒ? ์ด๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „์— commit์ด๋ž€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ์•Œ์•„์•ผํ•œ๋‹ค. 

 

commit

 

commit์€ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ์Šต์„ ํ•˜๋‚˜์˜ ๋ฒ„์ „์œผ๋กœ ๋‚จ๊ธฐ๋Š” ๋™์ž‘์„ ๋งํ•œ๋‹ค. 

๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ commit๋“ค์ด ์Œ“์—ฌ ํ•˜๋‚˜์˜ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ ๋‚ด์—์„œ ๋ฌด์Šจ ์ผ๋“ค์ด ๋ฒŒ์–ด์ง€๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.  

์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ ๋‚ด๋ถ€๋ฅผ ๋”์šฑ ๊ฐ€๋…์„ฑ ์žˆ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ๊ฐ์— ๋งž๋Š” ๋จธ์ง€ ์ „๋žต์ด ํ•„์š”ํ•˜๋‹ค. 

 

 

๋‘ ๊ฐœ์˜ ๋ธŒ๋žœ์น˜๋ฅผ mergeํ•˜๋Š” ๋ฐฉ๋ฒ•

โ˜๏ธ merge commit์„ ๋งŒ๋“ค๋ฉฐ ํ•ฉ์น˜๊ธฐ

  • merge commit์„ ๋งŒ๋“ค๋ฉฐ ํ•ฉ์น˜๋ฉด ๋‘ ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์œ ์ง€ํ•˜๋ฉด์„œ ๋จธ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 
  • ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์ž์„ธํ•˜๊ฒŒ ๋‚จ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ์˜ ์ง„ํ–‰์ƒํ™ฉ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ , ์ถ”์ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 
  • ํ•˜์ง€๋งŒ, ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค. 

 

โœŒ๏ธ squash & merge

  • ๋ธŒ๋žœ์น˜์—์„œ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ์••์ถ•ํ•˜์—ฌ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. 
  • ์ด๋Š” ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋“ค๋ณด๋‹ค๋Š” ๋จธ์ง€์— ์ข€ ๋” ์ง‘์ค‘ํ•œ ์ „๋žต์ด๋‹ค. ๋•Œ๋ฌธ์— ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค. 
  • ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ๋“ค์–ด๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋ฐ‹ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์™„์„ฑ๋œ ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•œ๋‹ค. 
  • ํ•˜์ง€๋งŒ ์–ธ์ œ, ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ๋‚ด์—ญ์„ ์žƒ๋Š”๋‹ค. 

 

๐Ÿ‘Œ Rebase & merge

 

  • ํ˜„์žฌ์˜ ๋ธŒ๋žœ์น˜๋ฅผ target ๋ธŒ๋žœ์น˜์— ์žฌ์œ„์น˜์‹œํ‚จ ํ›„์— ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ์œ„ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๊นจ๋—ํ•˜๊ณ , ์„ ํ˜•์ ์ธ ํžˆ์Šคํ† ๋ฆฌ ์œ ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 
  • ํ•˜์ง€๋งŒ ๊ด€๋ จ๋œ ์ปค๋ฐ‹ ID๊ฐ€ ๋ฐ”๋€Œ์–ด ํ˜ผ๋ž€์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋˜ํ•œ merge commit์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋А ์‹œ์ ์— ๋จธ์ง€๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. 
  • => ๋งŒ์•ฝ ๋จธ์ง€ํ•œ ์œ„์น˜์˜ ๊ธฐ๋ก์„ ๋‚จ๊ฒจ์•ผํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด rebase ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผํ•œ๋‹ค.  

'Git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Git] git ๋ธŒ๋žœ์น˜ ๋ช… ๋ณ€๊ฒฝํ•˜๊ธฐ  (0) 2024.05.07
[Git] Git flow ๋ธŒ๋žœ์น˜ ์ „๋žต  (2) 2024.01.13