05. git rebase practice: problem - nephilim/js-git-kata GitHub Wiki

์ฃผ์ œ: merge ๋‚ด์—ญ ๋˜๋Œ๋ฆฌ๊ธฐ ์‹ค์Šต

  • ์ง„ํ–‰ ์š”๋ น
    1. git-test-l7.tgz๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์ ๋‹นํ•œ ์œ„์น˜์— ์••์ถ•์„ ํ’‰๋‹ˆ๋‹ค.

    2. test.txt์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ค„๊ณผ ๋‹ฌ๋ฆฌ line5๋งŒ ๋์— "์ด ์ถ”๊ฐ€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

       line1
       line2
       line3
       line4
       line5"
       line6
       line7 
      
    3. ํ˜„์žฌ๊นŒ์ง€๋Š” ๋กœ์ปฌ์—์„œ๋งŒ ์ž‘์—…์ด ์ด๋ค„์กŒ๊ณ  ์„œ๋ฒ„์— ๋ฐ˜์˜ํ•˜์ง€๋Š” ์•Š์•˜์œผ๋ฏ€๋กœ, ํ•ด๋‹น ์‹œ์ ์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ์˜ฌ๋ผ๊ฐ€ line5"๋ฅผ line5๋กœ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

    4. ์ž‘์—…์€ line๊ณผ master๋ธŒ๋žœ์น˜ mergeํ›„ line6๊ณผ line7์ด ์ถ”๊ฐ€๋œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค. (๋‹ค์Œ์˜ git-graph๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.)

           * f70ec47 - (HEAD, master) line7 added (58 seconds ago) 
           * 8411c8c - line6 added (21 minutes ago) 
           * b781d82 - merged with line(3,4) (22 minutes ago) 
           |\ 
           | * 9c6da70 - (line) line4 added (2 weeks ago) 
           | * d9161bf - line3 added (2 weeks ago) 
           * | 07ea1bc - line5 added (37 minutes ago) 
           |/ 
           * 21bb6d0 - line2 added (3 weeks ago) 
           * 3a55ae2 - line1 added (3 weeks ago) 
           * a3d8a4f - initial commit (3 weeks ago)
      

์ฃผ์˜

  1. ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€ ์ด์ „ ์ž‘์—…์„ ์ˆ˜์ •ํ•˜๋Š”๊ฒŒ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.
  2. git์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์—ฌ์ฃผ๊ณ , ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด๋ฅผ ์ตํž ์ˆ˜ ์žˆ์–ด ํ•ด๋ณด๋Š” ์‹ค์Šต์ž…๋‹ˆ๋‹ค. 3์— ์œ ์˜ํ•ด์ฃผ์„ธ์š”.
  3. ์„œ๋ฒ„์— ๋ฐ˜์˜ํ–ˆ๋‹ค๋ฉด commit history๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์€ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ, git revert๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”).
  4. ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค๋งŒ, ๊ฐ€๋Šฅํ•˜๋ฉด ํžˆ์Šคํ† ๋ฆฌ ์ง„ํ–‰ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋˜ํ•œ ๊ณ ๋ฏผํ•ด ์ฃผ์„ธ์š”.