在重新基础期间退出后无法访问本地Git回购

在重新基础期间退出后无法访问本地Git回购,git,repository,git-rebase,git-stash,Git,Repository,Git Rebase,Git Stash,我的虚拟机在git rebase期间关闭,现在项目目录根本看不到git存储库。当我执行git status时,我得到以下信息: vagrant@localhost /var/www/crmpicco $ git status fatal: Not a git repository (or any of the parent directories): .git vagrant@localhost /var/www/crmpicco/.git $ ls -all total 92 drwxr-x

我的虚拟机在git rebase期间关闭,现在项目目录根本看不到git存储库。当我执行
git status
时,我得到以下信息:

vagrant@localhost /var/www/crmpicco $ git status
fatal: Not a git repository (or any of the parent directories): .git
vagrant@localhost /var/www/crmpicco/.git $ ls -all
total 92
drwxr-xr-x+   9 vagrant vagrant 4096 Jul  8 09:26 .
drwxr-xr-x+  18 vagrant vagrant 4096 Jul  7 18:00 ..
drwxr-xr-x+   2 vagrant vagrant    6 Oct 13  2014 branches
-rw-rw-r--+   1 vagrant vagrant  293 May  6 16:45 COMMIT_EDITMSG
-rw-rw-r--+   1 vagrant vagrant  637 Jul  8 09:26 config
-rw-r--r--+   1 vagrant vagrant   73 Oct 13  2014 description
-rw-rw-r--+   1 vagrant vagrant 4157 Jul  7 17:56 FETCH_HEAD
-rw-rw-r--+   1 vagrant vagrant    0 Jul  7 18:00 HEAD
drwxr-xr-x+   2 vagrant vagrant 4096 Oct 13  2014 hooks
-rw-rw-r--+   1 vagrant vagrant    0 Jul  7 18:00 index
drwxr-xr-x+   2 vagrant vagrant   20 Oct 13  2014 info
drwxr-xr-x+   3 vagrant vagrant   28 Oct 13  2014 logs
drwxr-xr-x+ 259 vagrant vagrant 8192 Apr 29 09:31 objects
-rw-rw-r--+   1 vagrant vagrant   41 Jul  7 17:56 ORIG_HEAD
-rw-r--r--+   1 vagrant vagrant 3442 Oct 13  2014 packed-refs
drwxrwxr-x+   2 vagrant vagrant 4096 Jul  7 18:00 rebase-apply
drwxr-xr-x+   5 vagrant vagrant   55 Jul  7 16:22 refs
我尝试重新初始化回购协议,但没有效果:

vagrant@localhost /var/www/crmpicco $ git init
Reinitialized existing Git repository in /var/www/releases/20141013104615/.git/
vagrant@localhost /var/www/crmpicco $ git status
fatal: Not a git repository (or any of the parent directories): .git
在.git目录中,我有以下内容:

vagrant@localhost /var/www/crmpicco $ git status
fatal: Not a git repository (or any of the parent directories): .git
vagrant@localhost /var/www/crmpicco/.git $ ls -all
total 92
drwxr-xr-x+   9 vagrant vagrant 4096 Jul  8 09:26 .
drwxr-xr-x+  18 vagrant vagrant 4096 Jul  7 18:00 ..
drwxr-xr-x+   2 vagrant vagrant    6 Oct 13  2014 branches
-rw-rw-r--+   1 vagrant vagrant  293 May  6 16:45 COMMIT_EDITMSG
-rw-rw-r--+   1 vagrant vagrant  637 Jul  8 09:26 config
-rw-r--r--+   1 vagrant vagrant   73 Oct 13  2014 description
-rw-rw-r--+   1 vagrant vagrant 4157 Jul  7 17:56 FETCH_HEAD
-rw-rw-r--+   1 vagrant vagrant    0 Jul  7 18:00 HEAD
drwxr-xr-x+   2 vagrant vagrant 4096 Oct 13  2014 hooks
-rw-rw-r--+   1 vagrant vagrant    0 Jul  7 18:00 index
drwxr-xr-x+   2 vagrant vagrant   20 Oct 13  2014 info
drwxr-xr-x+   3 vagrant vagrant   28 Oct 13  2014 logs
drwxr-xr-x+ 259 vagrant vagrant 8192 Apr 29 09:31 objects
-rw-rw-r--+   1 vagrant vagrant   41 Jul  7 17:56 ORIG_HEAD
-rw-r--r--+   1 vagrant vagrant 3442 Oct 13  2014 packed-refs
drwxrwxr-x+   2 vagrant vagrant 4096 Jul  7 18:00 rebase-apply
drwxr-xr-x+   5 vagrant vagrant   55 Jul  7 16:22 refs
我在git的
stash中有一些我想保留的文件


如何恢复回购协议和那些文件?

查看
头文件,看看它是指向例如
ref:refs/heads/master的指针还是SHA哈希

如果它是一个指针,那么查看
refs/heads/master
中是否有散列。如果有,试着在散列上运行
git log
,看看是否可以恢复。如果可以,
git reset--hard HASH
应该做正确的事情


您还可以运行
git fsck
,它将对文件进行一致性检查,并可能进一步指出问题所在。您还应该检查
config
文件是否合理(已读取;未损坏)。

我相信我已损坏了Git文件(由于我的虚拟机在
Git rebase
期间宕机),因为解决此问题的方法是删除本地文件并重新签出代码

我尝试重建Git索引,但是没有效果

如果您没有需要提交的文件,那么这可能对您有效,并且可能是一种更快的恢复和运行任何其他建议的途径