为了学习和实际目的,我在远程linux服务器上提交一个完整的joomla文件夹,然后将repo推送到github。然后我使用Github Desktop将repo克隆到我的本地Mac。但是,当我打开网页时,我得到了一个" mkdir():权限被拒绝"错误。
相比之下,我从github下载了repo的zip文件然后解压缩,这次网页没有问题。
我认为.zip
和克隆回购之间的唯一区别是前者没有.git
目录,所有其他文件都是相同的,所以它只能是文件所有者/许可问题。为了验证这一点,我将所有文件所有者更改为root:root并将权限更改为0777,此时网页可以打开。
所以我认为这证实了当我在远程服务器上git commit
时,git也会记录文件'权限,我该如何防止这种情况?
答案 0 :(得分:1)
正如@torec在他的评论中提到的,git只跟踪执行位,除非你告诉它,否则基本上不跟踪chmod。
# tell git to ignore filemode (chmod) as change,
git config core.fileMode false
<强>
core.fileMode
强>
如果为false,则索引与之间的可执行位差异 工作副本被忽略;对像FAT这样的破碎文件系统很有用 默认为True。
How to update executable bit?
强> # If you wish to set the executable bit use this comand
git update-index --chmod=+x <file>
<强>
--chmod=(+|-)x
强> 设置更新文件的执行权限。