当我尝试使用Cygwin的Git 2.7.0克隆项目时,我遇到了一些与权限相关的问题。这是,每次我尝试运行一个克隆项目的可执行文件时,我都会收到下一个错误:
Windows无法访问指定的设备,路径或文件。您可能没有相应的权限来访问该项目。
如果我使用Cygwin的Git(Attlasian SourceTree中包含的那个)项目将被“正确”克隆,我将不会遇到任何问题。下面我列出了Git的全局配置:
Cygwin的Git(2.7.0):
user.email=foo@foo.com
user.name=foo
alias.default=!git add -A && git commit -m 'default commit'
core.filemode=false
core.autocrlf=true
SourceTree的Git(Git版本1.9.5.msysgit.0):
user.name=foo
user.email=foo@foo.com
core.autocrlf=true
core.filemode=false
如何正确配置Cygwin的Git(或其他东西)以避免出现此类权限问题?
答案 0 :(得分:2)
这使我想起Alexpux/MSYS2-packages issue 222:
在Linux上,如果要执行文件,则必须具有正确的权限。 出于安全原因,默认情况下,触摸的文件将不具有此功能。
但是Windows对此有错误的看法,因为使用 新建>文本文档自动具有执行权限。
因此,在这种情况下发生的事情是,创建批处理文件的人都是在MSYS2环境中这样做的,因此正确缺乏执行 权限。
他们没有做的是chmod +x
来正确地提供这些文件 执行权限,如果使用 Windows本机工具。
因此,简单的chmod +x
就足够了。
git add --chmod=+x -- afile