git에서 저장소의 로컬 복사본에서 삭제 된 파일을 검색 할 수 있습니다.
git ls-files -d | xargs git checkout
이 예제는 git 저장소가 최신 상태임을 보여 주며, 이는 git status 명령을 호출하여 수행됩니다. 로컬 드라이브에서 파일이 삭제됩니다. 그런 다음 git status 명령이 다시 호출되고 방금 삭제 한 파일이 없음을 보여줍니다. 그러면 git ls-files 명령을 -d 매개 변수와 함께 호출하여 삭제 된 모든 파일을 나열합니다. 이리스트는 git checkout 명령으로 파이프되어 저장소에서 파일을 다시 가져옵니다. 마지막으로, git status 명령이 호출되어 저장소가 최신 상태이고 이전에 삭제 된 파일이 저장소에서 복원되었음을 보여줍니다. 복원 된 파일의 버전은 Git에서 커밋 된 최신 파일입니다. 최신 버전의 파일이 커밋되지 않은 경우 수정 작업을 다시 시도하지 않습니다.
$ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean $ rm logs/donotremove.txt $ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add/rm..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) deleted: logs/donotremove.txt no changes added to commit (use "git add" and/or "git commit -a") $ git ls-files -d | xargs git checkout $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean