2

ローカル コミットなしでプルすると、ステージングされたファイルが警告なしで削除されます。それらのファイルをどのように回復できますか?

問題を示す例を次に示します。

~/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 git@github.com: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 HEAD@{0}: initial pull
4

1 に答える 1

1

を使用して、失われたファイルの内容を回復できますgit fsck --lost-found

この問題は報告されていますが、パッチが適用されているとは思えません。git メーリング リストにフォローアップを投稿すると役立つ場合があります。

于 2012-06-19T21:32:40.520 に答える