[Git] 삭제한 파일 복구하기







가끔 git branch에 있는 모든 히스토리에서 파일 하나를 날리는 경우가 있다.


api key 값이 올라갔을 때 날리거나 할텐데 잘못 날리면 history 뿐만이 아니고 지금 코드에서도 날라간다.


캐시만 지워야하는데 홀라당 모든 파일을 날리는 경우다. 그때 우리는 당황할 수 있지만 파일을 살릴 방법을 고민해봐야 한다.


아래는 내가 고민한 방법이다. 아래 방법을 이용하기 위해서는 삭제한 파일이 이전 commit 기록에 있어야 한다는 것이다.









삭제한 파일 복구



우선적으로 git commit 내역을 살핀다.

아래 명령어는 저장소에서 이루어진 동작을 보여준다. 여기서 삭제된 파일이 포함된 commit의 해시를 복사한다.

git reflog


아래 사진은 해당 명령어의 실행과 실행 후 결과를 보여준다. 결과 중 문단 가장 앞에 있는 주황색 글자가 해당 commit의 해시 값이다. 이걸 복사하면 된다.







이제 해당 파일을 우리가 지정한 commit에서의 파일 상태로 돌린다. 이때 파일이 복구될 때 해당 commit에 저장되었던 상태다.

git checkout 커밋 해시 -- 파일경로/파일명

특정 파일을 살리고 git status를 치면 아래처럼 new file로 생성된게 보인다.














댓글

이 블로그의 인기 게시물

[Android] Kakao 계정으로 Firebase Authentication 연동