반응형
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 형태로 다시 생성됩니다.
파일이름이나 파일확장자는 삭제한 것에 맞게 그대로 해주시면 됩니다.
고생하셨습니다.
반응형
'[Git]' 카테고리의 다른 글
Intellij gitignore 등록 (0) | 2022.12.13 |
---|---|
Github 토큰 / 깃허브 토큰 생성 (0) | 2022.12.11 |
[Git] Github repository 내려받기 (0) | 2021.06.22 |
[Git] github 저장소에 repository 올리기 (0) | 2021.06.22 |
[Git] git add 이후 파일을 수정하면? (0) | 2021.06.22 |