
HEAD ์ ์๋ฏธ
git resetHEAD = Working Directory = ์ปค๋ฐ4๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ ๊ณผ๊ฑฐ์ ์ปค๋ฐ์ผ๋ก ์ด๋ํ์ฌ ์งํํ๊ณ ์ถ์ ๋ git reset ์ ์ฌ์ฉgit reset --hard ์ปค๋ฐ2_ID : HEAD = Working Directory = ์ปค๋ฐ2 ๋ก ๋ณ๊ฒฝ
MathTool ๋ก ์์๋ฅผ ๋ค์ด๋ณธ๋ค๋ฉด, ํ์ฌ git์์ HEAD๋ ๊ฐ์ฅ ๋งจ ๋ง์ง๋ง์ ํ commit์ด๋ค. --> Commit ID:6099
HEAD์ ๋ํดํธ๋ก ๊ฐ์ฅ ๋ง์ง๋ง์ ํ ์ปค๋ฐ์ด๊ธฐ์ origin/main ์ด๋ผ๋ ํ์๋ ๋ถ์ด์๋ค.
์ต์ ์ปค๋ฐ์ด ๊ณฑ์ ํจ์๋ฅผ ์ถ๊ฐํ ๊ฒ์ด๋ฏ๋ก, ์ด์ ์ ๊ฐ์ ํ๊ธฐ์ ๊ฐ์ด Multiple ํจ์๊ฐ ์๋ ์ํ๋ก ๋์๊ฐ๋ฉด ์ ๋๋ก reset ์๋ฃ !
๋ง์ฝ ๋ค์ ์๋ ์ํ๋ก ๊ฐ๊ณ ์ถ๋ค๋ฉด, ๊ฐ๊ณ ์ถ์ commit ID์ ํ์ธํ ์ ์๋ git reflog ์ ํตํด ํ์
ํ๊ณ , git reset --hard ๊ฐ๊ณ ์ถ์_commitID ๋ฅผ ์น๋ฉด HEAD๋ฅผ ๋ฐ๊ฟ ์ ์๋ค. ์์ ํ log๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์ origin/main์ผ๋ก HEAD๋ก ๊ฐ ๊ฒ์ผ๋ก ํ์ธํ ์ ์๋ค ! ๐
HEAD ์ด๋ ํ cat calculator.py๋ฅผ ํตํด ๋ด์ฉ์ ํ์ธํด๋ณด๋ฉด, multiply ํจ์๋ฅผ ํ์ธํ ์ ์๋ค !
git reset์ ์๋ ์ต์
์ ์๋ฏธ๋ ๋ฌด์์ผ๊น?HEAD๊ฐ ๊ณผ๊ฑฐ์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๊ฒ ๋๋ ๊ฒฐ๊ณผ๋ git reset์์ ์ด๋ ์ต์
์ ์ฐ๋ ํญ์ ๊ฐ์ง๋ง, working directory์ ๋ด๋ถ๋ ๊ณผ๊ฑฐ ์ปค๋ฐ์ ๋ชจ์ต์ฒ๋ผ ๋ฐ๋๋ ๋ถ๋ถ์ ์ด๋ ์ต์
์ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ๋ค๋ฅด๋ค !
HEAD์ ๊ฐ์ด, Working Directory๋ ๊ณผ๊ฑฐ ์ปค๋ฐ์ ๋ชจ์ต๊ณผ ๊ฐ์ด ๊ฐ์ด ๋ฐ๋๊ฒ ํ๋ ๋ถ๋ถ์ --hard ์ต์
์ ์ฌ์ฉํด์ผ ํ๋ค. ๋ง์ฝ --soft,--mixed ์ต์
์ ์ฐ๋ฉด Working Directory์ ๋ชจ์ต์ ๊ฐ๊ฐ ๋ค๋ฅด๋ค.
์ ๋ฆฌํ์๋ฉด
hard/mixed/soft์ต์ ์ Git์ ์ธ๊ฐ์ง ์์ญ (Working Directory/Staging area/repository) ์ค ๋ช๊ฐ์ ์์ญ์ ๋ฆฌ์ ํ๋์ง์ ๋ฐ๋ผ ๋๋ ์ ์๋ค.
1 --> staging area์ working directory์ ๋ณํ๊ฐ ์์ด ๊ทธ๋๋ก ! 1 & 21 & 2 & 3์ฌ์ค Git์ ์ฒ์ ๊ณต๋ถํ๋ค๋ณด๋ reset ์ต์ ์ ์ฐ๋ ์ด์ ๋ฅผ ์ ํํ ์จ๋ชธ์ผ๋ก ๊นจ๋ซ์ง๋ ๋ชปํ๊ฒ ๋ค. ์ด๋ก ์์ผ๋ก๋ ์ฐจ์ด์ ์ ์๊ฒ ์ง๋ง, ์ธ์ ์ด๋ค ์ํฉ์์ ์ต์ ์ ๋ค๋ฅด๊ฒ ์ฌ์ฉํ๋์ง ์ค์ง์ ์ธ ์ด์ ๋ ์์ง ๋ฑ ์์ง ๋ชปํ๊ฒ ๋ค. ์กฐ๊ธ ๋ ๊น๊ฒ ์ ์ํ๋ฉด์ ๊ณต๋ถํด์ผ๊ฒ ๋ค ! ๐
์ผ๋จ ์ง๊ธ๊น์ง ๋ด๊ฐ ์ดํดํ ๋ถ๋ถ์ ํ๋ก ๋์ํํ์๋ค. ์ค์ ๋ก ๋ ๊ณต๋ถํ๋ฉด์ ๋ณด์ํด๋๊ฐ์ผ๊ฒ ๋ค.
soft
mixed