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

我试过更改文件权限,但它不会改变比较结果。

我该怎么办?

编辑 :这个问题是由于我在共享Windows 7主机上托管repo的ubuntu VM guest虚拟机上使用git所致。 这是一场灾难。 这里的答案对我来说似乎是合理的,但我不能颁奖,因为他们回答了我没有的问题。


我发现如何在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

它会将所有.sh文件标记为可执行文件。 之后,你只需要git commit

链接地址: http://www.djcxy.com/p/30011.html

上一篇: Git file permissions on Windows

下一篇: Files showing as modified directly after git clone