Windows上的Git文件权限

| 我已经阅读了一些有关Git中文件权限的问题,但我仍然有些困惑。我在GitHub上有一个由另一个仓库分叉的仓库。合并后,它们应该相同。然而:
$ git diff --summary origin/epsilon master/epsilon
 mode change 100644 => 100755 ants/dist/sample_bots/csharp/compile.sh
 mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/MyBot.coffee
 mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/ants.coffee
 mode change 100644 => 100755 ants/util/block_test.sh
 mode change 100644 => 100755 manager/mass_skill_update.py
 mode change 100644 => 100755 worker/jailguard.py
 mode change 100644 => 100755 worker/release_stale_jails.py
 mode change 100644 => 100755 worker/start_worker.sh
我曾尝试更改文件权限,但不会更改diff结果。     
已邀请:
        我在这里找到了如何在Windows上更改权限的解决方案:http://blog.lesc.se/2011/11/how-to-change-file-premissions-in-git.html 例如,以下命令将用户执行权限添加到任意文件:
git update-index --chmod=+x <file>
    
        来自另一个关于stackoverflow的问题: 如何使Git忽略文件模式(chmod)更改? 尝试:
git config core.filemode false
从git-config(1):
   core.fileMode
       If false, the executable bit differences between the index and the
       working copy are ignored; useful on broken filesystems like FAT.
       See git-update-index(1). True by default.
    
        方便的Git Bash衬垫:
find . -name \'*.sh\' | xargs git update-index --chmod=+x
它将所有“ 5”文件标记为可执行文件。 在那之后,您只需要
git commit
。     
        如果您使用Cygwin git(我也假设使用Linux git),则很有可能在$ projdir / .git / config的项目级别上设置了core.filemode设置。我发现我必须执行以下操作才能使Cygwin git和Windows git在Windows文件系统上很好地共存,而不会一直显示不存在的文件模式更改: 删除$ projdir / .git / config中的行设置core.filemode 在Windows git中,运行\“ git config --global core.filemode false \” 这使我的Cygwin git可以继续查看通常与文件模式相关的更改,同时指示Windows git忽略其看到的文件模式更改,这些更改通常是误报。     
        我通过更改Ubuntu中的文件权限,提交,推送和全部确定来修复它。似乎在Windows / NTFS上无法与msysgit一起使用。     
        首先检查权限。
git ls-files --stage
然后更改权限
git update-index --chmod=+x \'scriptname.ext\'
现在重新验证权限。   git ls-files --stage ============================================= 如果您使用的是Windows PC,但在Linux机器上进行部署。首先执行以下命令,使其兼容在Linux机器上运行 dos2unix scriptname.ext scriptname.ext     

要回复问题请先登录注册