Вы можете иметь возможность извлечь содержимое удаленных файлов с помощью git fsck
и git show
. Смотрите следующий пример - мы создаем новый репозиторий, создаем новый файл, добавляем его в индекс, затем запускаем git rm
:
$ git init
Initialized empty Git repository in /home/ja/so/git-rm/.git/
$ echo hello > FILE
$ git add FILE
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: FILE
$ git rm -r -f ./
rm 'FILE'
$ git status
On branch master
Initial commit
nothing to commit (create/copy files and use "git add" to track)
Наш FILE
теперь потерян:
$ ls -Al
total 4
drwxr-xr-x 7 ja users 4096 Mar 12 16:17 .git
Давайте попробуем извлечь его содержимое с помощью git fsck
и git show
:
$ git fsck
notice: HEAD points to an unborn branch (master)
Checking object directories: 100% (256/256), done.
notice: No default references
dangling blob ce013625030ba8dba906f756967f9e9ca394464a
$ git show ce013625030ba8dba906f756967f9e9ca394464a
hello