본문 바로가기
[Git]

GIT 파일 복구 / 파일 되돌리기 / 울지 말고 들어와.

by Hevton 2021. 11. 10.
반응형

GIT으로 버전 관리하다가 파일 날려먹은 분 모두 이 글 보세요.

 

식은땀 많이들 흘리셨죠.. 이제 닦아냅시다.

 

 

 

Commit 했던 파일의 경우

방법 1. git log를 입력한 뒤, 아래 명령어를 통해서 돌아가고 싶은 버전으로 돌아가면 됩니다.

git reset --hard commit_id

 

방법 2. git reflog를 입력해보세요

여러분이 입력했던 명령어에 대한 기록이 남습니다.

돌아가고 싶은 곳으로 이동하려면, 마찬가지로 아래 명령어를 통해서 돌아가세요.

 

예를들어 이런식으로

git reset --hard 64d2f2f

또는

git reset --hard HEAD@{11}

 

 

 

Commit 하지 않은 파일의 경우

 

버전관리를 시작하려고 git add를 했는데..

그 이후에 git reset --hard 같은 명령어를 입력하신 당신.. 암담하시죠?

 

지금당장 아래 명령어를 입력해보세요

git fsck --lost-found

dangling blob 세 개가 나옵니다. 제가 git add 단계에서 삭제한 것은 3개의 '파일' 이므로 blob으로 나오는 것이고

디렉토리도 삭제하신 경우 tree도 뜨실 겁니다.

 

이것들의 id를 복사한 뒤에

git show 복사한id

입력해보시면, 본인이 삭제해버린 파일 내용을 보실 수 있습니다...

 

이렇게 하나씩 해보시다가, 되돌리고 싶으신 특정 파일을 찾으셨다면

git show 복사한id > 새파일이름

이런식으로! 예를들어 git show efsef32r2424323523234 > hello.txt

해주시면, 명령어를 입력한 현재 프롬프트 디렉토리에 .. 당신이 삭제한 파일이 hello.txt 형태로 다시 생성됩니다.

파일이름이나 파일확장자는 삭제한 것에 맞게 그대로 해주시면 됩니다.

 

 

고생하셨습니다.

반응형