2012-06-19 4 views
2

로컬 커밋없이 풀링하면 경고없이 스테이지 파일이 삭제됩니다. 어떻게 그 파일을 복구 할 수 있습니까?git pull 후 파일 복구

~/git $ git --version 
git version 1.7.5.4 

~/git $ uname -a 
Darwin Joe-MacMini.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 

~/git $ mkdir TESTDIR 
~/git $ cd TESTDIR/ 

~/git/TESTDIR $ echo "hi" > file.txt 

~/git/TESTDIR $ git init 
Initialized empty Git repository in /Users/joe/workspace/git/TESTDIR/.git/ 

~/git/TESTDIR (master #%) $ git add file.txt 

~/git/TESTDIR (master #) $ git status 
# On branch master 
# 
# Initial commit 
# 
# Changes to be committed: 
# (use "git rm --cached <file>..." to unstage) 
# 
# new file: file.txt 
# 

~/git/TESTDIR (master #) $ ls -al 
total 8 
drwxr-xr-x 4 joe staff 136 Jun 19 14:52 . 
drwxr-xr-x 19 joe staff 646 Jun 19 14:52 .. 
drwxr-xr-x 11 joe staff 374 Jun 19 14:52 .git 
-rw-r--r-- 1 joe staff 3 Jun 19 14:51 file.txt 

~/git/TESTDIR (master #) $ git remote add origin [email protected]:joecabezas/GitLogGroupByDate.git 

~/git/TESTDIR (master #) $ git reflog 
fatal: bad default revision 'HEAD' 

~/git/TESTDIR (master #) $ git pull origin master 
remote: Counting objects: 3, done. 
remote: Compressing objects: 100% (2/2), done. 
remote: Total 3 (delta 0), reused 0 (delta 0) 
Unpacking objects: 100% (3/3), done. 
From github.com:joecabezas/GitLogGroupByDate 
* branch   master  -> FETCH_HEAD 

~/git/TESTDIR (master) $ ls -al 
total 8 
drwxr-xr-x 4 joe staff 136 Jun 19 14:53 . 
drwxr-xr-x 19 joe staff 646 Jun 19 14:52 .. 
drwxr-xr-x 13 joe staff 442 Jun 19 14:53 .git 
-rw-r--r-- 1 joe staff 148 Jun 19 14:53 README.md 

~/git/TESTDIR (master) $ git reflog 
8583332 [email protected]{0}: initial pull 
+0

최신 Git 버전으로 업그레이드하여 여전히 문제가 있는지 확인할 수 있습니까? 귀하의 버전은 가장 최신의 것입니다 (v1.7.11). –

답변

1

당신은 git fsck --lost-found으로 손실 된 파일의 내용을 복구 할 수 있습니다

다음은 문제를 보여주는 예입니다.

이 문제는 has been reported이지만이 패치가 적용된 것은 아닙니다. git 메일 링리스트에서 후속 조치를 게시하면 도움이 될 수 있습니다.