2014-09-28 3 views
1

Git에서 추적 한 일부 파일을 불행히도 삭제했으며 이러한 파일을 복원하는 데 어려움이 있습니다.이전 Checkout으로 돌아온 후 Git으로 삭제 된 파일 복원

자세한 내용은 git 저장소에서 하나의 파일을 커밋했습니다. 그런 다음 저장소에 세 개의 파일을 추가하고 git add <FILENAME>git commit -m "blabla"을 입력했습니다. 나는 git log을 타이핑했고 파일을 개별적으로 추적하지는 않지만 전체 저장소를 추적한다는 인상을 받았다. 그러나 각 파일에 대한 버전 컨트롤을 갖고 싶었습니다. 그런 다음 git checkout을 사용하여 다른 세 파일이 추적되지 않는 파일 하나를 커밋했을 때 버전으로 되돌립니다. 이제 세 파일이 삭제됩니다. 불행히도 git log은 첫 번째 커밋 만 반환하고 내가 만든 후속 커밋은 반환하지 않습니다.

누군가 누락 된 파일을 복원하는 방법을 알려주실 수 있습니까?

답변

2

git log 전체 저장소의 로그를 보여줍니다. 당신은 단지 하나의 파일의 로그를 볼 경우이를 사용

git log -- my/file/path

다시 지점을 확인하여 자식 아래에있는 파일을 다시 얻을 수 있습니다. 최선을 다하고 예를 들어,이 후

git checkout master

당신은 파일을 얻을 것이다. 당신이 정말로 처음으로 돌아가 커밋하고 나중에 같은 비 추적에 추가 된 모든 새 파일을하려면 다음을 수행하십시오

git reset commit_hash

을 당신이 당신의 작업 디렉토리에 같은 비 추적 파일을 새 파일을 얻을 것이다 재설정 후하는 다시 커밋해야합니다.

+0

"git checkout"을 사용하여 저장소에 하나의 파일 만 포함 된 가장 초기 버전으로 되돌립니다. ''git log''라고 입력하면 이전 버전의 저장소로 되 돌린 후 커밋을 볼 수 없습니다. 이것이 정말로 전체 저장소의 로그일까요? – fabian

+2

이전 커밋을 체크 아웃하면 git은 이후 커밋에 대해 아무것도 모릅니다. 따라서 해당 파일을 다시보고 싶다면 지점의 최신 팁을 다시 확인해야합니다. 'git checkout master'는 당신이 마스터에 있다고 가정합니다. – taskinoor