用Cygwin的Git克隆项目的问题

时间:2016-08-03 14:13:55

标签: git cygwin sourcetree

当我尝试使用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(或其他东西)以避免出现此类权限问题?

1 个答案:

答案 0 :(得分:2)

这使我想起Alexpux/MSYS2-packages issue 222

  

在Linux上,如果要执行文件,则必须具有正确的权限。   出于安全原因,默认情况下,触摸的文件将不具有此功能。

     

但是Windows对此有错误的看法,因为使用   新建>文本文档自动具有执行权限。

     

因此,在这种情况下发生的事情是,创建批处理文件的人都是在MSYS2环境中这样做的,因此正确缺乏执行   权限。
  他们没有做的是chmod +x来正确地提供这些文件   执行权限,如果使用   Windows本机工具。

因此,简单的chmod +x就足够了。

然后,with Git 2.9.1 or more

git add --chmod=+x -- afile