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 버전 제어 시스템은 사용자 데이터 손실에 대해 매우 엄격합니다. 프로젝트에서 삭제한 파일이 있고 이를 복원해야 하는 경우 위에서 설명한 단계를 따르십시오.
파일의 전체 경로를 알 필요는 없습니다.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn