从ext3移动到FAT并返回到ext3后,Git存档被破坏

时间:2011-02-12 22:46:22

标签: git file-permissions

我将一个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

2 个答案:

答案 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