2012-01-02 56 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