我将一个git存储库从ext3移动到fat32 usb pendrive,然后又移回另一个ext3 linux机器。
现在git不再识别存储库了。我的猜测是,这可能是由更改的文件系统权限引起的。
如何让git再次将结构识别为git存档?
$ chmod -R 755 .git
$ git status
fatal: Not a git repository (or any of the parent directories): .git
编辑:
$ ls -la|grep git
drwxr-xr-x 8 mit mit 4096 2011-02-12 21:07 .git
$ ls -la .git
drwxr-xr-x 8 mit mit 4096 2011-02-12 21:07 .
drwx------ 32 mit mit 4096 2011-02-12 21:07 ..
drwxr-xr-x 2 mit mit 4096 2011-02-12 21:07 branches
-rwxr-xr-x 1 mit mit 5 2011-02-12 21:07 COMMIT_EDITMSG
-rwxr-xr-x 1 mit mit 92 2011-02-12 21:06 config
-rwxr-xr-x 1 mit mit 73 2011-02-12 21:06 description
-rwxr-xr-x 1 mit mit 23 2011-02-12 21:06 head
drwxr-xr-x 2 mit mit 4096 2011-02-12 21:07 hooks
-rwxr-xr-x 1 mit mit 52400 2011-02-12 21:06 index
drwxr-xr-x 2 mit mit 4096 2011-02-12 21:07 info
drwxr-xr-x 3 mit mit 4096 2011-02-12 21:07 logs
drwxr-xr-x 236 mit mit 32768 2011-02-12 21:07 objects
drwxr-xr-x 4 mit mit 4096 2011-02-12 21:07 refs
答案 0 :(得分:3)
问题是你的HEAD
已经小写:
-rwxr-xr-x 1 mit mit 23 2011-02-12 21:06 head
它不应该是可执行的,但它应该无关紧要。尝试重命名:mv .git/head .git/HEAD
。
通常即使不区分大小写的文件系统也会保留大小写,所以我不知道出了什么问题。
答案 1 :(得分:1)
最近,当我进行Windows系统还原时,我发生了类似的事情。我的.git/HEAD
文件未重命名,但其内容已被删除。所以我只是在文本编辑器中打开它并输入refs/heads/master
。