赞
踩
根据
official documentation,您可以使用update-index子命令在任何跟踪的文件上设置或删除“可执行”标志.
使用
git update-index --chmod=+x path/to/file
设置exec标志和
git update-index --chmod=-x path/to/file
删除它.
在引擎盖下
如果这看起来像常规的unix文件权限系统,实际上它不是. Git为其内部存储中的每个文件维护一个特殊的“模式”:
> 100644常规文件
> 100755可执行文件
您可以使用ls-file子命令将其可视化,并使用–stage选项:
$git ls-files --stage
100644 aee89ef43dc3b0ec6a7c6228f742377692b50484 0 .gitignore
100755 0ac339497485f7cc80d988561807906b2fd56172 0 my_executable_script.sh
默认情况下,当您将文件添加到存储库时,Git将尝试遵循其文件系统属性并相应地设置正确的文件模式.您可以通过将core.fileMode选项设置为false来禁用此功能:
git config core.fileMode false
故障排除
如果您遇到问题,Git文件模式未设置但文件具有正确的文件系统标志,请尝试删除模式并再次设置:
git update-index --chmod=-x path/to/file
git update-index --chmod=+x path/to/file
奖金
从Git 2.9开始,您可以使用单个命令暂存文件并设置标志:
git add --chmod=+x path/to/file
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。