글

라벨이 Git인 게시물 표시

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

이미지
가끔 git branch에 있는 모든 히스토리에서 파일 하나를 날리는 경우가 있다. api key 값이 올라갔을 때 날리거나 할텐데 잘못 날리면 history 뿐만이 아니고 지금 코드에서도 날라간다. 캐시만 지워야하는데 홀라당 모든 파일을 날리는 경우다. 그때 우리는 당황할 수 있지만 파일을 살릴 방법을 고민해봐야 한다. 아래는 내가 고민한 방법이다. 아래 방법을 이용하기 위해서는 삭제한 파일이 이전 commit 기록에 있어야 한다는 것이다. 삭제한 파일 복구 우선적으로 git commit 내역을 살핀다. 아래 명령어는 저장소에서 이루어진 동작을 보여준다. 여기서 삭제된 파일이 포함된 commit의 해시를 복사한다. git reflog 아래 사진은 해당 명령어의 실행과 실행 후 결과를 보여준다. 결과 중 문단 가장 앞에 있는 주황색 글자가 해당 commit의 해시 값이다. 이걸 복사하면 된다. 이제 해당 파일을 우리가 지정한 commit에서의 파일 상태로 돌린다. 이때 파일이 복구될 때 해당 commit에 저장되었던 상태다. git checkout 커밋 해시 -- 파일경로/파일명 특정 파일을 살리고 git status 를 치면 아래처럼 new file로 생성된게 보인다.

[Git] 원격저장소에 올라간 commit 파일 제거

이미지
Android Studio를 사용하다가 git에 .gitignore에 추가해놓은 파일이 올라간 것을 확인했다.  API key 값처럼 보안이 필요한 파일들은 저장소에 올려놓으면 안되기에 당황스러웠지만 다행스럽게도 저장소가 비공개 설정이었다. 무튼 파일이 올라갔으니 제거를 해야되는데 나는 꾸준히 commit을 올렸기에 commit history를 보면 파일들이 다 남아있는 상황이었다. 그래서 준비했다. 원격저장소에 올라간 파일들을 깔끔히 삭제하는 방법을 말이다. Github Commit History 파일 삭제