commit์ ํ๋๋ฐ, pull ๋ด์ญ์ด ๋ณด์ด์ง ์์์ด์
pull์ ๋ค ๋ชป๋ฐ๊ณ commit์ ๋จผ์ ํ๋ค๋ฉด git ์ถฉ๋์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋ง์ฃ . (์์ฃผ ๋น๋ฒํ ์ค์...ํํ)
์ด ๋์ ๊ฐ๋จ ํด๊ฒฐ๋ฒ์ ์์๋ด ์๋น.
์ฐ์ , git commit ๋ด์ญ์ ์ง์์ค๋๋ค. (์ผ๋จ commit ํ ์ํ๋๊น ๋ด์ญ ๊ฒ์์ผ๋ก ์ด๋ฆด ์ ์์ด์! ๊ฑฑ์ NoNo)
git reset --hard HEAD^
1) --hard ์ต์ ์ ๋์๊ฐ๋ ค๋ ์ด๋ ฅ์ดํ์ ๋ชจ๋ ๋ด์ฉ์ ์ง์ ๋ฒ๋ฆฌ๋ฏ๋ก ์ปค๋ฐํด์ผํ ๊ฒ๋ค์ด ์๋์ง ๋ค์ ํ ๋ฒ ํ์ธํด์ฃผ์ธ์.
2) HEAD^๋ ๋ฐ๋ก ์ง์ ์ปค๋ฐ 1๊ฐ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฌ๋ฌ๊ฐ์ ์ปค๋ฐ์ด๋ผ๋ฉด HEAD~2 (2๊ฐ), HEAD~3 (3๊ฐ) ๋ฑ์ ํํ์ ์ฌ์ฉํด์ฃผ์ธ์.
๋ค์์ผ๋ก ๋ชป ๋ฐ์ pull์ ๋ฐ์์ฃผ์ธ์.
git pull
๊ทธ ๋ค์ git reflog ๋ช ๋ น์ผ๋ก ์๊น ์ง์ด commit ๋ด์ญ์ ์ฐพ์๋ด ์๋ค.
git reflog
์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด, commit ๋ด์ญ์ด ์ญ ๋์ฌํ ๋ฐ, ์๊น ์ง์ด ์ปค๋ฐ ์ด๋ ฅ์ ์ฐพ์์ ์์ ์์ด๋๋ฅผ ๋ณต์ฌํด์ฃผ์ธ์.
๊ทธ๋ฆฌ๊ณ ํด๋น git commit ์ด๋ ฅ์ checkout ๋ช ๋ น์ด๋ก ๊ฐ์ ธ์ต๋๋ค.
git checkout [commit ID]
๊ทธ๋ผ, ๋ก์ปฌ ๋ณ๊ฒฝ๋ด์ญ์ผ๋ก ๊ฐ์ ธ์์ง๋๋ค.
์ด๊ฑธ ๋ค์ commit & push ํด์ฃผ๋ฉด ๋!
git commit -m [์
๋ ฅํ๊ณ ์ถ์ ๋ฉ์ธ์ง]
git push
cf) ์ด ๋ฐฉ๋ฒ ์ธ์๋ ์ branch์ ์ฌ๋ฆฌ๊ณ cherry pick์ผ๋ก ๊ฐ์ ธ์์ pushํ ํ, branch๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋น.