git restore, revert, reset
git restore : ํ์ผ ํ๋๋ฅผ ๋๋๋ฆฌ๊ธฐ
์ต๊ทผ commit๋ ์ํ๋ก ํ์ฌ ํ์ผ์ ์์ ๋ด์ญ์ ๋๋๋ฆฌ๊ธฐ
git restore ํ์ผ๋ช
์ ๋ ฅํ ํ์ผ์ ํน์ ์ปค๋ฐ์์ด๋ ์์ ์ผ๋ก ๋ณต๊ตฌํ๊ธฐ
git restore --source ์ปค๋ฐ์์ด๋ ํ์ผ๋ช
ํน์ ํ์ผ์ staging ์ทจ์
git restore --staged ํ์ผ๋ช
git revert : commit์ ๋๋๋ฆฌ๊ธฐ
๊ณผ๊ฑฐ์ ์ปค๋ฐ ๋ด์ญ์ ์ทจ์ํ๊ณ ์ ํ๋ค๋ฉด, commit ํ๋๋ฅผ ์ทจ์ํ commit์ ์ถ๊ฐ ์์ฑ. ์ฆ, ํน์ ์ปค๋ฐ์์ ์๋ ์ผ์ ์ง์๋ฒ๋ฆด ์ ์๋ ๋ช ๋ น์ด์.
git revert ์ปค๋ฐ์์ด๋

vim ์๋ํฐ๊ฐ ๋ฌ๋ค๋ฉด commit message ์์ ํ ๋ซ๊ธฐ
revert ์, ๋์์ ์ฌ๋ฌ๊ฐ์ commit id ์ ๋ ฅ ๊ฐ๋ฅ
์ต๊ทผ ํ๋ commit 1๊ฐ๋ง revert : git revert HEAD ์ ๋ ฅ
merge ๋ช ๋ น์ผ๋ก ์ธํด ์๋ก ๋ง๋ค์ด์ง commit๋ revert ๊ฐ๋ฅ
git reset : ์ ๋ถ ๋๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด
ํน์ commit ๋๋ก ์์ ๋ชจ๋ ๊ฒ์ ๋๋๋ฆด ์ ์์ (์์ ํด๋ ๋ด ํ์ผ ํฌํจ)
git reset --hard ์ปค๋ฐ์์ด๋

๋ค๋ง, ํ์ ํ๋ก์ ํธ ์์๋ ์ฌ์ฉ์ ๋งค์ฐ ์ฃผ์ํด์ผ ํจ
untracked ํ์ผ๋ค์ (git add ์ ํด๋์ ํ์ผ๋ค์) ์ฌ๋ผ์ง์ง ์๊ณ ์ ์ง๋จ
git clean ๋ช ๋ น์ด๋ untracked ํ์ผ๋ค๋ ๋ค ์ง์ธ ์ ์์ (๋ ์ํ..)
resetํ๋ฉด์ ํ์ผ์ ์์ ์ง์๋ฒ๋ฆฌ๋๊ฒ ์๋๋ผ, (staging์ ์ทจ์ํ๋ฉด์) ๊ฒํ ํ๊ณ ๋ค์ commit ํ๊ณ ์ถ๋ค๋ฉด
--hard
๊ฐ ์๋,--soft
๋--mixed
์ ์ฌ์ฉ๋ฌผ๋ก
git reset
์ ๋ ฅ ์,--mixed
์ต์ ์ด ๊ธฐ๋ณธ์ผ๋ก ์๋๋๋ฉฐ, ์ธ๋ฑ์ค(Staging Area)๋ง ์ด๊ธฐํ๋จ.
Last updated