HOWTO · Git

Git의 프로젝트 커밋 기록에서 삭제된 파일 찾기

Git의 프로젝트 커밋 기록에서 삭제된 파일을 찾을 수 있습니다.

이 문서에서는 프로젝트의 커밋 기록에서 삭제된 파일을 찾는 방법에 대해 설명합니다. 이것은 프로젝트에서 삭제한 파일을 복원하려는 경우에 편리합니다.

더 이상 고민하지 않고 바로 시작하겠습니다.

Git에서 삭제된 파일을 찾고 복원하는 단계

파일을 삭제하고 파일 경로를 기억할 수 없는 경우 아래 명령을 실행하여 경로를 찾을 수 있습니다.

$ git log --all --full-history -- "<OurFile>"

위의 명령은 <OurFile> 패턴과 이름이 일치하는 파일을 포함하는 커밋 기록의 모든 커밋을 출력합니다. 물론 <OurFile>을 파일의 올바른 이름으로 대체해야 합니다.

출력은 아래와 같이 커밋 해시를 사용하여 파일 경로를 얻는 데 도움이 될 수 있습니다.

$ git show --pretty="" --name-only <sha1-commit-hash>

이제 파일 경로가 생겼습니다. 그러나 파일의 특정 버전을 복원하려고 합니다.

어떻게 해야 할까요?

아래와 같이 파일이 변경된 커밋을 가져와야 합니다.

$ git log --all --full-history -- <path-to-file>

원하는 버전을 얻으려면 다음을 실행합니다.

$ git show <sha1-commit-hash> -- <path-to-file>

파일을 작업 복사본으로 복원

아래 그림과 같이 git checkout 명령을 사용하여 파일을 복원합니다.

$ git checkout <sha1-commit-hash>^ -- <path-to-file>

캐럿 기호 ^를 추가하여 Git이 이전 커밋에서 파일 버전을 가져오도록 지시했습니다. 이렇게 하면 파일이 삭제된 경우 파일의 이전 내용을 얻을 수 있습니다.

간단히 말해서 Git 버전 제어 시스템은 사용자 데이터 손실에 대해 매우 엄격합니다. 프로젝트에서 삭제한 파일이 있고 이를 복원해야 하는 경우 위에서 설명한 단계를 따르십시오.

파일의 전체 경로를 알 필요는 없습니다.