7

我在网络驱动器上使用 msysgit (v1.7.7) 从 Windows 克隆了一个 Git 存储库。一些文件在存储库上被标记为具有模式 100755。

使用 Windows 中的 git bash 工具,该ls -l命令有效地显示了这些文件的良好权限。现在,当我从 Linux 访问存储库目录时,这些文件具有 644 权限而不是 755。

如果我在 Linux 端将它们 chmod 为 755 并返回到 Windows 上的 git bash 工具:

  • ls -l命令仍然显示文件具有 755 权限
  • 但该git diff命令告诉文件从 100755 更改为 100644 模式

知道如何在 Windows 上使用 msysgit 正确处理文件模式吗?

我在 msysgit 上发现了这个问题,它对应于我的问题http://code.google.com/p/msysgit/issues/detail?id=164 我在我的文件上尝试了建议的提示git update-index --chmod=+x,但它没有改变任何东西。

4

1 回答 1

14

mingw 不像 linux 那样支持文件模式。据我了解,它遵循 Windows 扩展支持,.exe即将具有 +x 位。但是 chmod 什么也没做。

因此,对于 git,您应该指定git config core.filemode false在 mingw 中禁用文件模式支持。如果你需要改变它,你应该在Linux下进行。

但是,也许我错了,但公平的 cygwin 确实支持文件模式。你可以试试它而不是mingw。

于 2012-08-30T09:04:43.423 回答