reflog = reference log ์ฐธ์กฐ ๊ธฐ๋ก์ ์ค์๋ง
ls .git
cd logs
์ค์ํ๊ฑฐ๋ ๊น ๋ก๊ทธ์์ ๋์ด์ ๋ณผ ์ ์๊ฒ ๋ ์ปค๋ฐ์ ํด์์ ์ ๊ทผํด์ผํ ๋ ์ ์ฉํ๋ค!
์ฃผ์!!
1. reflog๋ ์ง์ญ์ ์ด๋ค!
(์ค์ง ๋ด ์ปดํจํฐ์ ์ฐธ์กฐ ๋ชฉ๋ก์ ๋ํ ๋ณ๊ฒฝ์ฌํญ๋ง์ ์ ์ฅํ๋ค. )
2. ์๊ตฌ์ ์ด์ง ์๋ค!
์ฝ 90์ผ์ด ์ง๋๋ฉด ๋ง๋ฃ๋๋ค.
gut reflow show HEAD or ๋ธ๋์น๋ช
git relow show HEAD vs git log
๊ฐ์ง ์๋ค!!
git log์๋ ํฌํจ๋์ง ์๋ ๊ฒ์ ํฌํจํ๋ค. ์๋ฅผ๋ค๋ฉด ๋ด ๋ธ๋์น ์ฒดํฌ์์์ ํ๋ ๊ฒ์๋ ๊ธฐ๋ก์ผ๋ก ๋จ๊ธฐ์ง ์์! ๊ทธ์ ์ปค๋ฐ ๊ธฐ๋ก์ ๊ฐ์ง๊ณ ์์ ๋ฟ์ด๋ค.
HEAD@{2} => 2๋ฒ์ ์์ง์ ์ ์ ํค๋๊ฐ ์ด๋ ์์๋์ง ์๋ ค์ค๋ค.
git checkout HEAD~2
ํค๋์ ๋ถ๋ชจ์ ๊ทธ ๋ถ๋ชจ๋ฅผ ์๋งํ๋ค. (์กฐ๋ถ๋ชจ์ ์ปค๋ฐ๋ด์ฉ์ ๋ณผ ์ ์๋ค. )
git reflog HEAD@{2}
์ปค๋ฐ ์กฐ์ฐจ ์๋์๋ ์๋ค. ๋ธ๋์น๋ง ๋ฐ๊พผ ๊ฒ์ผ ์๋ ์๋ค.
reflog์ ๋ชจ๋ ํญ๋ชฉ ํ๋ํ๋์๋ ๊ทธ์ ํด๋นํ๋ ํ์์คํฌํ๊ฐ ์๋ค.
git reflog master@{one.week.age}
git checkout bugfix@{2.days.ago}
git diff main@{0} main@{yesterday}
โ ์ค์ ํ์ ๋ ์ด๋ป๊ฒ ๋๋๋ฆด ์ ์๋์ง, ์์ด๋ฒ๋ฆฐ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ปค๋ฐ๊ณผ ์ ๋ณด๋ฅผ ๋์ฐพ์์ค๋ ๋ฐฉ๋ฒ!
(ex, reset ์ด๋ reset --hard๋ฅผ ํด์ ์ปค๋ฐ์ ์์ด๋ฒ๋ฆฐ ๋ค, reflog๋ฅผ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ ๊ฒ)
(git log์์๋ ์์ด์ก์ง๋ง git reflog์๋ ๋จ์์๋ค!)
git reflog show ๋ธ๋์น๋ช
ํด๋นํ๋ ๋ธ๋์น๊ฐ ์์ ํ๋ ๋ชจ๋ ํ๊ฒฝ๋ค์ ์ปค๋ฐํด์๋ฅผ ๋ณผ ์ ์๋ค.
๋๋๋ฆฌ๊ณ ์ถ์ ์ปค๋ฐํด์๋ฅผ ํตํด checkout์ ํ๋ฉด ๋๋ค.
git checkout ๋๋๋ฆฌ๊ณ ์ถ์ ์ปค๋ฐํด์
=> ์ด๋ ๊ฒ ํ๋ฉด ํค๋๊ฐ ๋ถ๋ฆฌ๋์ ๊ทธ๋ฅ ๋ณผ ์๋ง ์๋ค.
git reset --hard ๋๋๋ฆฌ๊ณ ์ถ์ ์ปค๋ฐํด์
=> ์ด๋ ๊ฒ ํ๋ฉด HEAD๊ฐ ์ด๋๋๋ค.
โ ์ด๋ป๊ฒ rebase๋ฅผ ๋๋๋ฆฌ ์ ์๋์ง, git rebase๋ฅผ ์ฌ์ฉํด์ ์์ ํ ๋ฎ์ด ์ฐ์ฌ์ง ์ปค๋ฐ์ ๋ณต๊ตฌํ๋ ๋ฐฉ๋ฒ
(reflog๋ก rebase ์ทจ์ํ๊ธฐ)
rebase๋ ์ปค๋ฐ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ด๋ค! ๊ทธ๋์ ์๋ก์ด ์ปค๋ฐ์ ์์ฑํด์ ๊ตฌ๋ฒ์ ์ ์ฌ๋ผ์ง๊ฒ ๋๋ค.
git reflog ๋ธ๋์น๋ช
git reset --hard ๋๋๋ฆฌ๊ณ ์ถ์ ์ปค๋ฐํด์
๋ชจ๋ ์ปค๋ฐ์ ๊ทธ ํ์ผ ๋ด๋ถ์ ๊ทธ๋ค์ ๋ถ๋ชจ ๋๋ ์กฐ๋ถ๋ชจ๋ ์ ์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ๋ ์ปค๋ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์ ํ๋ฉด, ์๋๋๋ก ๋์๊ฐ๊ฒ ๋๋ค.
'๐คผGit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL) git merge ์ ๋๋ก ์๊ธฐ git merge fast-forward ๋ฐฉ์ (0) | 2024.07.19 |
---|---|
์คํ ์์ค์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ (0) | 2023.04.16 |
clone ๋ฐ์ ๋ ํ์งํ ๋ฆฌ์์ env ์ค์ ํ๊ธฐ, go path ์ค์ ํ๊ธฐ (0) | 2023.04.12 |
git push ํ๊ธฐ ์ comit message ์์ ํ๊ธฐ (0) | 2023.03.29 |
๋ด๊ฐ ์จ๋ณธ git ๋ช ๋ น์ด (๊ณ์ ์ถ๊ฐ์ค..) (0) | 2023.03.06 |