2012-01-02 64 views
1

已经动了我的资料库从一个磁盘到另一个今天我得到了所有的仓库如下回答后:没有git仓库,但所有的混帐东西是有

$ git status 
fatal: Not a git repository (or any of the parent directories): .git 

现在,我所有的混帐东西是那里存储库:

$ ls -al 
total 8 
drwx------ 1 luca luca 0 2011-12-12 10:36 . 
drwx------ 1 luca luca 4096 2012-01-02 09:49 .. 
drwx------ 1 luca luca 4096 2011-12-12 10:36 .git 
drwx------ 1 luca luca 0 2011-12-12 10:36 img 
$ du -hs .git/* 
0  .git/branches 
0  .git/hooks 
0  .git/info 
12K  .git/logs 
58K  .git/objects 
0  .git/refs 

所以我想git是某种方式困惑的东西,也许是不正确的权限。任何关于如何恢复我所有的存储库历史的想法?

+0

什么操作系统?如果你在Linux上,'strace git status'的最后几行会给你答案。 – 2012-01-02 11:24:48

+0

这是输出:'stat(“.git”,{st_mode = S_IFDIR | 0700,st_size = 4096,...})= 0 access(“.git/objects”,X_OK)= 0 access (“./ objects”,X_OK)= -1 ENOENT(“.git/refs”,X_OK)= 0 lstat(“.git/HEAD”,0x7fffd0a72f90)= -1 ENOENT(无此类文件或目录) (没有这样的文件或目录) '和第一个.git /对象是成功的,其他没有。 – fluca1978 2012-01-02 11:57:33

回答

2

查看.git下是否存在HEAD文件,并且该文件还有适当的权限。

+0

实际上它缺少HEAD,配置和描述。有没有办法恢复它们? – fluca1978 2012-01-02 11:54:09

+0

我也缺少裁判/头(我的意思是目录是空的)。另一方面,远程裁判有它的头(但它不是我想要的头)。 – fluca1978 2012-01-02 12:04:48

+0

@ fluca1978 - 尝试再次执行'git init'(备份!) – manojlds 2012-01-02 21:22:24

0

您没有index文件,这意味着您的存储库处于“裸露”状态。

尝试:

git branch 

查看可用的分支的列表,然后:

git checkout thebranch 
+1

我猜这个问题更重要,因为我无法运行任何git命令,总是出现“不是git存储库”的错误 – fluca1978 2012-01-02 13:12:07

+0

尝试和'GIT_DIR =路径/到/ .git git分支“,是否有任何东西转起来? – fge 2012-01-02 13:36:34