커밋 후 git에서 삭제된 파일 복구

커밋 후 git에서 삭제된 파일 복구

파일을 로컬 git에 커밋한 다음 github에 푸시했습니다.

해당 파일을 제거하기 위해 다음 명령을 수행한 다음 github에 푸시했습니다.

git rm file.txt
git commit -m remove file.txt
git push -u github master

그런 다음 파일을 다시 원한다는 것을 깨달았습니다. 여기에 설명된 지침을 시도해 보았습니다. https://www.quora.com/How-can-I-recover-a-file-I-deleted-in-my-local-repo-from-the-remote-repo-in-Git

다음 명령을 실행했습니다.

git rev-list -n 1 HEAD -- file.txt

내 파일이 있는 버전에 대한 해시를 제공했습니다: HASH. 그런 다음 다음 명령에서 사용했습니다.

git checkout HASH^ file.txt

그러면 다음과 같은 오류가 발생했습니다.

error: pathspec 'file.txt' did not match any file(s) known to git

운 좋게도 github에 가서 모든 파일을 복구할 수 있었지만 여전히 로컬에서 수행하는 방법이나 가능한지 여부를 모릅니다.

답변1

git reflog파일이 있는 지점에 대한 커밋 해시를 가져오는 데 사용합니다 . 그런 다음 git checkout <hash>해당 커밋 해시로 돌아가는 데 사용합니다.

git checkout HEAD{1}또는 을 사용하여 한 커밋으로 돌아갈 수 있습니다 .

관련 정보