MapleStory Finger Point

๐ŸŸ  Git

[Git] Merge, Rebase

HYEJU01 2024. 6. 12. 09:37

git ์—์„œ ๋ธŒ๋žœ์น˜๋ผ๋ฆฌ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์€ Merge , Rebase ๊ฐ€ ์žˆ์Œ.

์‹คํ–‰๊ฒฐ๊ณผ๋Š” ๊ฐ™์ง€๋งŒ commit history ๊ฐ€ ๋‹ฌ๋ผ์ง

( conflict  !!! ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ธŒ๋žœ์น˜์—์„œ ๋™์ผํ•œ ํŒŒ์ผ์˜ ๋™์ผํ•œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ๋ฐœ์ƒ)

 

  • Merge 

์‰ฝ๊ณ  ์•ˆ์ „ํ•˜์ง€๋งŒ commit history ๊ฐ€ ๋ณต์žกํ•ด์ง

์ด๋ ฅ์ด ๋งž์ถฐ์ง€์ง€ ์•Š์€ ์ƒํƒœ๋กœ merge ํ•˜๋ฉด ์ƒˆ๋กœ์šด branch ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. (์ด๋ ฅ์ด ๋‚จ์Œ)

 


$ git branch 
$ git checkout master
$ git merge A
$ git merge B // merge ์ด๋ ฅ ๋‚จ์Œ

 

 

 


 

  •  Rebase

- ๋ฒ ์ด์Šค๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ
- ๋งˆ์ง€๋ง‰ ๋‚˜๋ˆ ์ง€๊ธฐ ์ „ ์ด๋ ฅ์„ ๊ธฐ์ค€์œผ๋กœ base ๋ฅผ ๋งž์ถ”๊ณ  ํ•ฉ์น  ๋ธŒ๋žœ์น˜ ์ด๋ ฅ ์ ์šฉ
- branch์˜ base๊ฐ€ ๋˜๋Š” ์ตœ์‹  ์ปค๋ฐ‹์œผ๋กœ base๋ฅผ ๋งž์ถ”๋Š” ์ž‘์—…

- commit history๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ (๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ)

- 1. merge์ด๋ ฅ์ด ์—†๋‹ค. 2. ๋ผ์ธ์ดํ•˜๋‚˜๋‹ค

 

 

 


$ git checkout master

$ git merge A  // master ๊ธฐ์ค€์œผ๋กœ A merge

$ git checkout B

$ git rebase master // B ๊ธฐ์ค€์œผ๋กœ master ๋ฒ ์ด์Šค๋กœ ๊น”๊ธฐ

$ git checkout master 

$ git merge B // master ๊ธฐ์ค€์œผ๋กœ B merge

 

 

 

 

 

 

 

  •  Rebase ์œ„ํ—˜์„ฑ
    (์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด) push ํ•˜๊ธฐ ์ „์—๋งŒ ์‚ฌ์šฉ!!
    ํ˜‘์—… ์‹œ ๊ณต๊ฐœ์ปค๋ฐ‹์„ Rebase ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค

 

  • rebase ๋ช…๋ น์–ด

$ git rebase ๋ธŒ๋ Œ์น˜๋ช… // ๋ธŒ๋ Œ์น˜๋ฅผ base ๋กœ ๋งž์ถ”๊ณ   log ๋ฅผ ์„ ํ˜•์œผ๋กœ ๋งž์ถ˜๋‹ค. 

$ git log -graph -oneline  // ๋กœ๊ทธ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด๊ธฐ

 


 



https://www.youtube.com/watch?app=desktop&v=0chZFIZLR_0