๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Git & GitHub

[Git & GitHub] rebase ์™€ merge ์ฐจ์ด์  ๋น„๊ตํ•˜๊ธฐ โ‘ก

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2020. 5. 30.

 

 

 

[Git & GitHub] rebase ์™€ merge ์ฐจ์ด์  ๋น„๊ตํ•˜๊ธฐ โ‘ 

[Git & GitHub] ์ž‘์—… ์ค‘์ธ ๋‚ด์šฉ ์ž„์‹œ ์ €์žฅ : stash [Git & GitHub] ์ž‘์—… ์ค‘์ธ ๋‚ด์šฉ ์ž„์‹œ ์ €์žฅ : branch [Git & GitHub] ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ : revert ๋ณต์Šต ๋ฐ ์‘์šฉ [Git & GitHub] ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ..

onelight-stay.tistory.com

 

๋ณ‘ํ•ฉ(merge)์— ๋Œ€ํ•ด ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ–ˆ๋‹ค๋ฉด

์ด๋ฒˆ์—๋Š” ๋น„์Šทํ•˜๋ฉด์„œ๋„ ๋‹ค๋ฅธ

rebase์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•ด ๋ณด์ž.

 

 


 

 

< ์ƒํ™ฉ 2 >

rebase ์ด์šฉํ•˜๊ธฐ :

 

 

(1) ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— master ๋ธŒ๋žœ์น˜๋ฅผ ํ›ผ์†ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด

master ๋ธŒ๋žœ์น˜๊ฐ€ ์œ„์น˜ํ•œ ์ปค๋ฐ‹์— merge-test๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด ์ค€๋‹ค.

 

 

(2) merge-test ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•ด์ค€ ๋’ค์— etc ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉํ•ด์ค€๋‹ค.

 

 

(3) ์ดํ›„์— rebase ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•ด์ค€ ๋’ค์— merge-test ๋ธŒ๋žœ์น˜์—

'ํ˜„์žฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ merge-test์— ์žฌ๋ฐฐ์น˜'๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ฆ‰, ๋‚˜(rebase)๋ฅผ ๋“ค์–ด์„œ merge-test์— ์–น๋Š”๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

 

(4) ์ด๋•Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š”๋ฐ

์ด์ œ ์—ฌ๊ธฐ์„œ ๋ถ€ํ„ฐ๋Š” ๋ณ‘ํ•ฉ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋ฉด ๋œ๋‹ค.

 

 

(5) ์ผ๋‹จ ์—๋””ํ„ฐ์— ์ ‘์†ํ•ด์„œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ

'๋‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ชจ๋‘ ์ˆ˜๋ฝ'์„ ๋ˆŒ๋Ÿฌ์ค€ ๋’ค์— ์ €์žฅํ•ด์ค€๋‹ค.

 

์ด๋•Œ, ์ปค๋ฐ‹์€ ์ง„ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

 

(6) ๊ธฐ์กด์— merge ์˜€๋‹ค๋ฉด ์—ฌ๊ธฐ์„œ add ํ›„์— ์ปค๋ฐ‹์„ ํ–ˆ์„ ํ…๋ฐ

rebase์—์„  ์ปค๋ฐ‹์„ ๋‹ฌ์•„์ฃผ์ง€ ์•Š๊ณ  ์Šคํ…Œ์ด์ง€์— ์˜ฌ๋ฆฌ๋Š” add ๊นŒ์ง€๋งŒ ์ง„ํ–‰ํ•ด ์ค€๋‹ค.

 

 

(7) ํ›„์— ์•„๊นŒ์™€ ๊ฐ™์ด merge-test ๋ธŒ๋žœ์น˜๋ฅผ ๋ˆŒ๋Ÿฌ์„œ

'ํ˜„์žฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ merge-test์— ์žฌ๋ฐฐ์น˜'๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

 

 

(8) ์•„๊นŒ์™€๋Š” ๋‹ค๋ฅธ ์ฐฝ์ด ๋‚˜์˜ค๋Š”๋ฐ

์šฐ๋ฆฌ๋Š” ์ž‘์—…๊ณต๊ฐ„์—์„œ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—

๊ทธ๋Œ€๋กœ ์žฌ๋ฐฐ์น˜ ๊ณ„์†์„ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ๋œ๋‹ค.

 

 

(9) merge ํ–ˆ์„ ๋•Œ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ทธ๋ž˜ํ”„๊ฐ€ ๊น”๋”ํ•œ ๋ชจ์Šต์ธ ๊ฒƒ์„

ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

rebase ๋ธŒ๋žœ์น˜๊ฐ€ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

(10) ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๊ณต๊ฐ„ merge-test๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•ด์ค€ ๋’ค์—

rebase ๋ธŒ๋žœ์น˜๋ฅผ ๋ˆŒ๋Ÿฌ ๋ณ‘ํ•ฉ์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

 

 

(11) merge-test ๋ธŒ๋žœ์น˜๊ฐ€ rebase์™€ ๊ฐ™์€ ์ปค๋ฐ‹์— ์œ„์น˜ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

(12) ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด master ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ ํ›„์—

๊ฐ€์žฅ ์ตœ๊ทผ ์ปค๋ฐ‹์„ ๋ˆŒ๋Ÿฌ ๋ณ‘ํ•ฉํ•ด ์ค€ ๋’ค์— push๋ฅผ ํ•ด์ค€๋‹ค.

 

ํ•„์š” ์—†์–ด์ง„ ๋‚˜๋จธ์ง€ ๋ธŒ๋žœ์น˜๋“ค์€ ์‚ญ์ œํ•ด์ค€๋‹ค.

 

 

(13) push๊นŒ์ง€ ํ•ด์ค€ ๋ชจ์Šต์ด๋‹ค.

 

 


 

 

rebase

 

๋ณ‘ํ•ฉ(merge)์ฒ˜๋Ÿผ ๋‘ ๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ์น  ๋•Œ ์‚ฌ์šฉ

 

์†Œ์Šค ํŠธ๋ฆฌ "์žฌ๋ฐฐ์น˜" = github "rebase"

 

 

< ์žฅ์  >

์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌ๋œ๋‹ค.

 

< ๋‹จ์  >

์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

 

์ด๋ฏธ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜๋ฅผ rebase ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

 

๊ฐœ์ธ์ด ์•„๋‹Œ ํ˜‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๊ธฐ ๋งค์šฐ ์œ„ํ—˜ํ•˜๋‹ค.

 

 


 

 

merge์™€๋Š” ๋‹ค๋ฅด๊ฒŒ rebase๋Š” ๋‚˜ํƒ€๋‚˜๋Š” ๊ทธ๋ž˜ํ”„์˜ ๋ชจ์Šต์ด

ํ›จ์”ฌ ๊น”๋”ํ•˜์ง€๋งŒ ์–ด๋Š ์ •๋„์˜ ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•ด์•ผ ํ•˜๋‹ˆ

์ ์ ˆํ•œ ์ƒํ™ฉ์— ์ž˜ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ๋‹ค.

 

 


 

 

< ์ฐธ๊ณ  >

 

์ธํ”„๋Ÿฐ - git๊ณผ github

https://www.inflearn.com/course/git-and-github

 

git๊ณผ github - ์ธํ”„๋Ÿฐ

ํ˜•์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Verson Control System) ์˜ ํ•œ ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ฌธ ๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฒ„์ „๊ด€๋ฆฌ์‹œ์Šคํ…œ ๊นƒ(GIT) ์˜จ๋ผ์ธ ๊ฐ•์˜ github

www.inflearn.com

 

โ€ป ํ•ด๋‹น ๊ธ€์€ ์Šต๋“ ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค โ€ป

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€