git restore, revert, reset

git restore : ํŒŒ์ผ ํ•˜๋‚˜๋ฅผ ๋˜๋Œ๋ฆฌ๊ธฐ

์ตœ๊ทผ commit๋œ ์ƒํƒœ๋กœ ํ˜„์žฌ ํŒŒ์ผ์˜ ์ˆ˜์ •๋‚ด์—ญ์„ ๋˜๋Œ๋ฆฌ๊ธฐ

git restore ํŒŒ์ผ๋ช…

์ž…๋ ฅํ•œ ํŒŒ์ผ์„ ํŠน์ • ์ปค๋ฐ‹์•„์ด๋”” ์‹œ์ ์œผ๋กœ ๋ณต๊ตฌํ•˜๊ธฐ

git restore --source ์ปค๋ฐ‹์•„์ด๋”” ํŒŒ์ผ๋ช…

ํŠน์ • ํŒŒ์ผ์„ staging ์ทจ์†Œ

git restore --staged ํŒŒ์ผ๋ช…

git revert : commit์„ ๋˜๋Œ๋ฆฌ๊ธฐ

๊ณผ๊ฑฐ์˜ ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ์ทจ์†Œํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด, commit ํ•˜๋‚˜๋ฅผ ์ทจ์†Œํ•œ commit์„ ์ถ”๊ฐ€ ์ƒ์„ฑ. ์ฆ‰, ํŠน์ • ์ปค๋ฐ‹์—์„œ ์žˆ๋˜ ์ผ์„ ์ง€์›Œ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ž„.

git revert ์ปค๋ฐ‹์•„์ด๋””
git_revert
  • vim ์—๋””ํ„ฐ๊ฐ€ ๋œฌ๋‹ค๋ฉด commit message ์ˆ˜์ • ํ›„ ๋‹ซ๊ธฐ

  • revert ์‹œ, ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ commit id ์ž…๋ ฅ ๊ฐ€๋Šฅ

  • ์ตœ๊ทผ ํ–ˆ๋˜ commit 1๊ฐœ๋งŒ revert : git revert HEAD ์ž…๋ ฅ

  • merge ๋ช…๋ น์œผ๋กœ ์ธํ•ด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง„ commit๋„ revert ๊ฐ€๋Šฅ

git reset : ์ „๋ถ€ ๋˜๋Œ๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด

ํŠน์ • commit ๋•Œ๋กœ ์•„์˜ˆ ๋ชจ๋“  ๊ฒƒ์„ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Œ (์ž‘์—… ํด๋” ๋‚ด ํŒŒ์ผ ํฌํ•จ)

git reset --hard ์ปค๋ฐ‹์•„์ด๋””
git_reset
  • ๋‹ค๋งŒ, ํ˜‘์—… ํ”„๋กœ์ ํŠธ ์‹œ์—๋Š” ์‚ฌ์šฉ์„ ๋งค์šฐ ์ฃผ์˜ํ•ด์•ผ ํ•จ

  • untracked ํŒŒ์ผ๋“ค์€ (git add ์•ˆ ํ•ด๋†“์€ ํŒŒ์ผ๋“ค์€) ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ  ์œ ์ง€๋จ

  • git clean ๋ช…๋ น์–ด๋Š” untracked ํŒŒ์ผ๋“ค๋„ ๋‹ค ์ง€์šธ ์ˆ˜ ์žˆ์Œ (๋” ์œ„ํ—˜..)

  • resetํ•˜๋ฉด์„œ ํŒŒ์ผ์„ ์•„์˜ˆ ์ง€์›Œ๋ฒ„๋ฆฌ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, (staging์„ ์ทจ์†Œํ•˜๋ฉด์„œ) ๊ฒ€ํ† ํ•˜๊ณ  ๋‹ค์‹œ commit ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด --hard๊ฐ€ ์•„๋‹Œ, --soft๋‚˜ --mixed์„ ์‚ฌ์šฉ

  • ๋ฌผ๋ก  git reset ์ž…๋ ฅ ์‹œ, --mixed ์˜ต์…˜์ด ๊ธฐ๋ณธ์œผ๋กœ ์ž‘๋™๋˜๋ฉฐ, ์ธ๋ฑ์Šค(Staging Area)๋งŒ ์ดˆ๊ธฐํ™”๋จ.

Last updated