자동으로 commit 위치 찾아서 Git으로 지운 파일 복원하기
버전관리 시스템을 쓰는 이유중 하나가 실수로 지워진 파일을 복원하거나
예전에 필요 없다고 지운 파일을 손쉽게 복원하기 위해서이다.
문제는 commit
이 많이 누적 됬다면 해당 파일이 존재하는 위치를 찾는것은 꽤나 귀찮은 일이 된다.
이러한 부분 쉽게 검색으로 해결하는 방법을 다룬다.
특정 경로에 관련된 commit을 찾는 명령어
맨 처음부터 HEAD까지 전부 검색한다는 의미이다.git rev-list -n 1 HEAD -- <file_path>
git rev-list -n 1 HEAD -- ./0.Basic
f75de024ee267c765d8abfea460ac5f5c506b015
해당 commit 바로 이전으로 checkout하는 방법 caret^
을 넣으면 된다.git checkout <deleting_commit>^ -- <file_path>
git checkout f75de0^ -- ./0.Basic
# 정상적으로 복원됨
jemin@jemin-desktop:~/ESLAB_ML/jemin/TensorFlowLecture$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
커밋할 변경 사항:
(스테이지 해제하려면 "git reset HEAD <파일>..."을 사용하십시오)
새 파일: 0.Basic/Basic_usageOfConstant.py
새 파일: 0.Basic/Basic_usageOfPlaceholder.py
새 파일: 0.Basic/Basic_usageOfVariables.py
새 파일: 0.Basic/TensorFlow Basic of concept.ipynb
새 파일: 0.Basic/__init__.py
새 파일: 0.Basic/basic.py
새 파일: 0.Basic/hellowTensorFlow.py
특정 파일 1개만 하고 싶을 경우git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file"
'Computer Science > Git' 카테고리의 다른 글
git difftool 사용법 (0) | 2017.02.28 |
---|---|
GIT tip 정리 (1) | 2017.02.01 |
Git config 설정 (계정설정) (1) | 2016.10.02 |
Github에 100Mb이상 파일 올리는 방법 (오류 해결) (5) | 2016.08.09 |
Github Page로 개인 홈페이지 제작, Private Git 얻기 (2) | 2016.07.03 |