[FE - ConnecTo] DAY27 TIL๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

JUNYยท2022๋…„ 8์›” 17์ผ
0

๐Ÿ“šZeroBase ConnecTo Front-End

๋ชฉ๋ก ๋ณด๊ธฐ
16/53
post-thumbnail

22.08.17 ์ˆ˜์—…์„ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š
ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ๐ŸŠ

โœ…ย ํ˜‘์—… ๋ฐ ํ”„๋กœ์ ํŠธ ์‹œ ํšŒ๊ณ 

ํ˜‘์—… ๋ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ๋•Œ, ์Šคํ”„๋ฆฐํŠธ ๋ฏธํŒ…, ํ‚ฅ์˜คํ”„ ๋ฏธํŒ…, ํšŒ๊ณ  ๋“ฑ๋“ฑ ์ฒดํฌ๋ฅผ ํ•˜๊ณ  ๋„˜์–ด๊ฐ€์•ผ ๋ฌด์—‡์„ ๋ฐฐ์› ๋Š”์ง€, ์–ป์–ด๊ฐ€๋Š” ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํšŒ์‚ฌ์—์„œ๋„, ๋ณดํ†ต ์Šคํ”„๋ฆฐํŠธ ์ฃผ๊ธฐ ๋™์•ˆ ๋งˆ์ง€๋ง‰๋‚ ์—๋Š” ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ํšŒ๊ณ , ๋‹ค์Œ ์ „๋žต ๋“ฑ์„ ์งœ๊ธฐ ์œ„ํ•ด ํ•˜๋ฃจ๋ฅผ ๋‹ค ๋ณด๋‚ผ ์ •๋„๋กœ ์ค‘์š”ํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ํšŒ๊ณ ๋ฅผ ํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 3๊ฐ€์ง€ ์„น์…˜์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ •๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Liked ( ์ข‹์•˜๋˜ ์  )
  2. Learned ( ๋ฐฐ์šฐ๊ณ  ๋Š๋‚€ ์  )
  3. Lacked ( ์•„์‰ฌ์› ๋˜ ์  )

๊ทธ๋ž˜์„œ ์ž ๊น, ์ €๋ฒˆ ๊นƒ ์ˆ˜์—… ๋•Œ ํ–ˆ๋˜ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ํšŒ๊ณ ๋ฅผ ์ •๋ฆฌํ•ด๋ณด๊ณ  ๋„˜์–ด๊ฐ”์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ (Pig The Dice Game)

  • Liked
    git flow์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ์ ์šฉํ•ด๋ณด๊ณ , ํŒ€์›๊ฐ„์˜ ํ˜‘์—…ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค.
  • Learned
    git flow ๋™์ž‘ ์›๋ฆฌ ๋ฐ CLI๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ์ตํžˆ๊ณ , ์ž‘์—…ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ์˜€์Šต๋‹ˆ๋‹ค.
  • Lacked
    ํŒ€ ํ˜‘์—…์ด์ง€๋งŒ, ํ”„๋กœ์ ํŠธ๊ฐ€ ๋™์‹œ ๋‹ค๋ฐœ์ ์œผ๋กœ ์ž‘์—…ํ–ˆ๋˜ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค๋ณด๋‹ˆ, ์ฐจ๋ก€ ์ฐจ๋ก€ ์ง„ํ–‰๋˜๋Š” ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์ด ์•ฝ๊ฐ„ ์ง€์ฒด๋œ ๋ถ€๋ถ„์ด ์•„์‰ฌ์› ์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค, ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ๋•Œ๋Š” ๋ชจ๋‘์˜ ์—ญ๋Ÿ‰์ด ์ค‘์š”ํ•˜๊ธด ํ•œ๋ฐ, ํŒ€์žฅ์˜ ์—ญ๋Ÿ‰์ด ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํŒ€์žฅ์€, ์šฐ๋ฆฌ์˜ ํŒ€์› ๋“ค์„ ๊ธฐ๋ถ„ ๋‚˜์˜์ง€ ์•Š๊ฒŒ ๋ชฐ์•„๋ถ™์—ฌ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ , ๊ฐ‘์งˆ์„ ํ•ด์„œ๋Š” ์•ˆ ๋  ๊ฒƒ์ด๊ณ , ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ์—ด์‹ฌํžˆ ํ•ด์ค˜์„œ, ํŒ€์›๋“ค์ด ๋ฐฉํ–ฅ์„ ์žƒ์ง€ ์•Š๊ฒŒ ์ง€์‹œํ•ด์ฃผ๊ณ , ์„œํฌํŠธ ํ•ด์ฃผ๊ณ  ์ด๋Œ์–ด์ฃผ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ , ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋˜ํ•œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํŒ€์žฅ ํ˜ผ์ž ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ๋‹ด๋‹น ๋ฆฌ๋ทฐ์–ด๊ฐ€ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , ํŒ€ ์ „์ฒด๊ฐ€ ๋ชจ์—ฌ์„œ, ํ”„๋กœ์ ํŠธ๋ฅผ ์˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๋Š” ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋ฉฐ, ์ข…์ข… ์Šคํ”„๋ฆฐํŠธ ๋งˆ์ง€๋ง‰ ๋‚ ์—๋Š” ์˜๋ฏธ ์žˆ๋Š” ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ผญ ํšŒ๊ณ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ฉด ์ข‹๊ฒ ๊ณ , Final ํ”„๋กœ์ ํŠธ ๋•Œ์—๋Š” ์Šคํ”„๋ฆฐํŠธ ๋‹จ์œ„๋ณ„๋กœ ํšŒ๊ณ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


๐Ÿ“Œ ์˜ค๋Š˜ ์ˆ˜์—… ๋ชฉํ‘œ
๋‚ด๊ฐ€ ํ˜‘์—…์„ ํ•˜๋‹ค ์‹ค์ˆ˜๋ฅผ ํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชปํ–ˆ์„ ๋•Œ ๋˜๋Œ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
pushํ•˜๊ธฐ ์ „์˜ ๋‹จ๊ณ„(์ž‘์—… ์ „์— add, commit ๋“ฑ์„ ํ•  ๋•Œ) ๋˜๋Œ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•˜๋‚˜์”ฉ ๋ฐฐ์›๋‹ˆ๋‹ค!

git์—์„œ ํŒŒ์ผ๋ช… ๋ฐ”๊พธ๊ธฐ

๋ฒ„์ „ ๊ด€๋ฆฌ๋ผ๋Š” ์ธก๋ฉด์—์„œ ๋ณด๋ฉด, move ๋ช…๋ น์–ด๋Š” ์œ„ํ—˜์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

$ ls
// README.md

$ mv README.md unread.me
$ ls
// unread.md

$ git status

์Šคํฌ๋ฆฐ์ƒท 2022-08-17 ์˜คํ›„ 3.01.44.png

์ด๋ฏธ tracking ํ•˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ๊ทธ๋ƒฅ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ธฐ์กด ์กด์žฌํ•˜๋˜ README.md๊ฐ€ ์ง€์›Œ์ง€๊ณ  unread.md๊ฐ€ ์ƒˆ๋กœ ์ƒ๊ฒผ๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  ์žˆ์–ด์„œ, ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์ธก๋ฉด์—์„œ ์—ฐ์†์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๋‚ด์šฉ์€ ๊ฐ™์€๋ฐ ์ด๋ฆ„์ด ๋ฐ”๋€๋‹ค๊ณ  ํ•œ ๋ฒˆ ๋” ํ•ด์„์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ƒํƒœ๋ฅผ ๋˜๋Œ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค..!

์šฐ์„  ๋˜‘๊ฐ™์ด ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์ฃผ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณต๊ตฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

$ mv unread.me README.m

์Šคํฌ๋ฆฐ์ƒท 2022-08-17 ์˜คํ›„ 3.04.24.png

๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ผ๊นŒ์š”?

๋‹ค์Œ๊ณผ ๊ฐ™์ด move ๋ช…๋ น์–ด ์•ž์— git์„ ๋ถ™์ด๋ฉด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

$ **git** mv unread.me README.md

์Šคํฌ๋ฆฐ์ƒท 2022-08-17 ์˜คํ›„ 3.06.22.png

์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์„ ์–ธ๋งŒ ํ•˜๋ฉด, add ํ•  ์š”์†Œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ”๋กœ commit์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!


ํŒŒ์ผ ์ˆ˜์ •์„ ํ–ˆ๋Š”๋ฐ, ๋˜๋Œ๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ๋Š”?

$ git checkout -- unread.md
// checkout์€ ์•ฝ๊ฐ„ ๊ตฌ์‹œ๋Œ€์ ์ธ ์–ธ์–ด๋ผ์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด restore๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

$ git restore -- unread.md

// ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ,
//  ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด ํ˜„์žฌ ์œ„์น˜ ์•„๋ž˜๋กœ ๋ชจ๋“  ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
$. git restore .

Stage์— ์˜ฌ๋ ธ๋Š”๋ฐ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋•Œ..

ํšŒ์‚ฌ์—์„œ ์ผ์„ ํ•˜๊ฑฐ๋‚˜, ํ˜‘์—…์„ ํ•˜๋‹ค๊ฐ€ ํ•  ์ผ์„ ๋‹ค ํ•˜๊ณ  ๋ฐฉ๊ธˆ commit์„ ํ•˜๊ณ , push ์ง์ „์ด์—ˆ๋Š”๋ฐ, ๊ฐ‘์ž๊ธฐ ์ˆ˜์ •ํ•˜๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ, unstaging์„ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

$ git reset HEAD {filename}

๋งŒ์•ฝ, unstaging ํ•˜๋ฉด์„œ ๋ฐ”๋กœ ์ง€์šฐ๊ณ  ์‹ถ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

$ git rm -f {filename}

rebase vs merge

  • rebase๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ? ํ˜‘์—…ํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ž‘์—…ํ•˜๋˜ ๊ฒƒ์ด ์ค‘๊ฐ„์— ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ์— ๋ธŒ๋žœ์น˜๋ฅผ ๋•„๋˜ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์„œ base๋ฅผ ์˜ฎ๊ฒจ์ค๋‹ˆ๋‹ค! ์ฆ‰, conflict๋ฅผ ๋ฐ”๋กœ๋ฐ”๋กœ ๋ฐ›์€ ๊ฒƒ์ด rebase ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.
  • merge๋Š” ๊ทธ๋Ÿผ ์–ธ์ œ...? ์ž‘์—…ํ•˜๋‹ค๊ฐ€ ์ค‘๊ฐ„์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋“ค์–ด์™”๋‹ค? โ†’ ์ง€๊ธˆ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋งˆ์ง€๋ง‰์— ๋“ค์–ด๊ฐˆ ๋•Œ conflict๋ฅผ ์ผ์œผ์ผœ์„œ merge๋ฅผ ๋๋‚ด๋„๋ก ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‘˜ ์ค‘ ์–ด๋Š ๋ฐฉ๋ฒ•์ด ์ข‹์€๊ฐ€..๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด,
ํŒ€์›์˜ ์ˆ˜๊ฐ€ ๋งŽ์œผ๋ฉด ๋งŽ์„์ˆ˜๋ก merge ๋ฐฉ์‹์˜ ์†”๋ฃจ์…˜์ด ํ›จ์”ฌ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

n๋ช…์˜ pull request๋ฅผ ๋ฐ›์œผ๋ฉด n๊ฐœ์˜ rebase๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” ๋งˆ์ง€๋ง‰์— conflict๋ฅผ ์ผ์œผ์ผœ์„œ ์ตœ์ข… merge ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ข‹์Šต๋‹ˆ๋‹ค.


์ปค๋ฐ‹ ์—‰๋ง์œผ๋กœ ํ•ด๋†“๊ณ , ์ง์ „ ์ปค๋ฐ‹ ์ˆ˜์ •ํ•˜๊ธฐ

commit์„ ํ•  ๋•Œ๋Š” ๊ธด์žฅ๊ฐ์„ ๊ฐ€์ง€๊ณ  ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ฐ”๋กœ ์ง์ „ commit ์‹ค์ˆ˜๋ผ๋ฉด, ๊ทธ๋Ÿด ์ˆ˜ ์žˆ๋‹ค.. ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, 10์ผ ์ „, 100๊ฐœ ์ „ ๋“ฑ์˜ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด, ์ด๊ฑด ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํŒ๋‹จ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.๐Ÿ˜ก

$ git commit

์Šคํฌ๋ฆฐ์ƒท 2022-08-17 ์˜คํ›„ 3.26.47.png

commit ์ˆ˜์ •์„ ์œ„ํ•œ ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$ git commit --amend

์Šคํฌ๋ฆฐ์ƒท 2022-08-17 ์˜คํ›„ 3.34.32.png

commit ์ˆ˜์ • ์™„๋ฃŒ! โœŒ๐Ÿป

+) ์ถ”๊ฐ€์‚ฌํ•ญ

rebase ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด commit ๋‚ ์งœ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค..! ๐Ÿ‘€ (์•…์šฉํ• ๊นŒ๋ด ๋” ๋ง์„ ์•ˆํ•˜์‹ฌ..๐Ÿ˜‚)


์ด๋ฏธ ์˜ฌ๋ผ๊ฐ„ commit ์ทจ์†Œํ•˜๊ธฐ(์—†๋˜ ์ผ๋กœ ๋งŒ๋“ค๊ธฐ 2๊ฐ€์ง€)

  • ํ”์  ์กฐ์ฐจ ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ•
  • ํŠน์ •ํ•œ ์‹œ์ ์œผ๋กœ ๋˜๋Œ๋ ค ๋†“์„๊ฒŒ์š”(๋ฐ˜์„ฑ๋ฌธ) ๊ถŒ์žฅ!

history๋‚˜ ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ์ธก๋ฉด์—์„œ๋„ ๊ฐ™์€ ๋งฅ๋ฝ์ž…๋‹ˆ๋‹ค..!

์ž˜๋ชป๋œ ์ด๋ ฅ์„ ๋‚จ๊ฒผ๋˜ ๊ฒƒ์„ push ํ•ด๋†“๊ณ , ๋‚˜ํ•œํ…Œ์„œ๋งŒ ์ง€์šด๋‹ค๊ณ  ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ์ด ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.(๊ทผ๋ณธ์  ํ•ด๊ฒฐ x)

์ด๋ ‡๊ฒŒ ๋˜์—ˆ์„ ๋•Œ, ์‚ฌ๊ณผ๋ฅผ ๋นจ๋ฆฌํ•˜์‹ญ์‹œ์˜คโ€ฆ ( ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.. ํŒŒ์ผ ๋˜๋Œ๋ฆด๊ฒŒ์š”โ€ฆ ใ… ใ…  )

์ด๋ ‡๊ฒŒ ํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์ปค์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค..

๊ทธ๋ฆฌ๊ณ  rest ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ง€์› ์„ ๊ฒฝ์šฐ์—,
์ด๋ ‡๊ฒŒ ์ง€์›Œ๋„ ์ด๋ ฅ์ด ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์žˆ๋˜ ์ผ์„ ์—†๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฑด ์–ด๋ ต์Šต๋‹ˆ๋‹ค!!!!!

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”?

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹ค์Šตํ•ด๋ด…์‹œ๋‹ค.

  1. ํŒŒ์ผ ์ƒ์„ฑ
$ touch a.md
$ touch b.md
$ touch c.md
  1. ์—ฐ์†ํ•ด์„œ 3๊ฐœ์˜ ์ž˜๋ชป๋œ ์ปค๋ฐ‹ํ•˜๊ธฐ
$ git add a.md
$ git commit

$ git add b.md
$ git commit

$ git add c.md
$ git commit
  1. ๋˜๋Œ๋ฆด๊ฑด๋ฐ, ํ•œ ๋ฒˆ์— commit ํ•  ๊ฑฐ๊ณ ์š”.. ์ง€๊ธˆ์œผ๋กœ๋ถ€ํ„ฐ 3๊ฐœ ์ „๊นŒ์ง€ ํ•  ๊ฑฐ์—์š”โ€ฆ
$ git revert --no-commit HEAD~3..

๐Ÿ“์ด ๋•Œ, no-commit ๋ช…๋ น์„ ์•ˆ์ฃผ๋ฉด ํ•˜๋‚˜์”ฉ ๊ฑด๋„ˆ๊ฐˆ ๋•Œ ๋งˆ๋‹ค ์ผ์ผํžˆ commit์„ ์ฐ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

a, b, c๊ฐ€ ์ง€์›Œ์กŒ๋‹ค ๊ทธ๋Ÿฐ ๊ฑด ๋ณด์ด์ง€ ์•Š๋”๋ผ๋„, ๋งŒ๋“ค๊ธฐ ์ „ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!


๊ทธ๋ ‡๋‹ค๋ฉด ํ˜„์—…์—๋Š” ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋‚˜์š”??

ํŒ€๋งˆ๋‹ค reset์ด๋‚˜ revert ์ค‘ ์–ด๋Š ๊ฒƒ์„ ์„ ํ˜ธํ•˜๋Š”์ง€๋Š” ๋ชจ๋ฅด์ง€๋งŒ, revert๋ฅผ ์„ ํ˜ธํ•˜๋Š” ํŽธ์ธ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

commit์„ ๋˜๋Œ๋ฆด ๋•Œ๋„ ์‚ฌ์šฉํ•˜์ง€๋งŒ,

merge ํ–ˆ๋˜ commit์„ ์ทจ์†Œํ•  ๋•Œ๋„ revert๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๊ทธ ๋•Œ๋Š” -m ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค!

๋‹ค๋งŒ, merge commit ์€ ๋ฉ”์„ธ์ง€๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋œฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!!!


๐Ÿ•ฐย ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์‹ค์Šต! (StopWatch)

์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ถฉ๋Œ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์„๊นŒ์— ํฌ์ธํŠธ๋ฅผ ๋‘๊ณ  ํ˜„์‹ค์ ์œผ๋กœ ํ˜‘์—…ํ•ด๋ณด๊ธฐ!

profile
์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๐ŸŒผ

0๊ฐœ์˜ ๋Œ“๊ธ€