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 버전 제어 시스템은 사용자 데이터 손실에 대해 매우 엄격합니다. 프로젝트에서 삭제한 파일이 있고 이를 복원해야 하는 경우 위에서 설명한 단계를 따르십시오.
파일의 전체 경로를 알 필요는 없습니다.