如何更改GitHub上的文件模式?
之后,如果你去GitHub,不管发生什么,它仍然显示为100644。MSYS不是问题所在。即使MSYS如何更改GitHub上的文件模式?,git,github,Git,Github,之后,如果你去GitHub,不管发生什么,它仍然显示为100644。MSYS不是问题所在。即使MSYSchmod不起作用(它不起作用),Git也有一种解决这个问题的内置方法,即Git更新索引--chmod=+x。要明确的是,只会弄乱索引(暂存区域),而不会弄乱本地存储库(工作目录) 我确信问题出在GitHub上。在GitHub上,如果文件最初是以100775模式推送的,则一切正常。如果文件最初作为100644推送,则会导致问题。更改文件模式的尝试将通过git add成功,通过git commit
chmod
不起作用(它不起作用),Git也有一种解决这个问题的内置方法,即Git更新索引--chmod=+x
。要明确的是,只会弄乱索引(暂存区域),而不会弄乱本地存储库(工作目录)
我确信问题出在GitHub上。在GitHub上,如果文件最初是以100775模式推送的,则一切正常。如果文件最初作为100644推送,则会导致问题。更改文件模式的尝试将通过git add
成功,通过git commit
成功,通过git push
成功,甚至会显示在GitHub文件历史记录中,但不会反映在GitHub的“blob/master”页面上
更新
发件人:Petros Amiridis(GitHub工作人员)
主题:如何在GitHub上更改文件模式
我有一些好消息。我们的优秀团队刚刚确认这是一个缓存错误
在我们这边。我们的团队已经部署了修复程序
我认为问题在于,git的Windows实现所基于的,不能正确处理
chmod
(编辑:另一个答案说MSYS不是问题所在,这似乎很有道理。)
我猜这是命令
$ git update-index --add --chmod=+x test-file
$ git commit -m 'change mode'
mode change 100644 => 100755 test-file
$ git push
通过更新本地存储库中的元数据(应该可以)和更改文件的权限(不可以),将本地存储库置于不一致的状态
通过撤消更新索引
,您应该能够退出此操作:
git update-index --add --chmod=+x test-file
使存储库恢复到一致状态,然后在存储库的非Windows副本中进行更改。如果您没有访问Linux或其他类似Unix的系统的权限,请包括git
(默认情况下不是这样,但您可以通过setup.exe
)安装它,并为您提供一个chmod
实际工作的环境。Cygwin的默认shell是bash,因此如果您一直在使用git bash,那么应该熟悉该环境
当您从git bash shell查看该文件时,该文件仍然不会显示为可执行文件,但它应该在GitHub web界面中显示为100755
git update-index --add --chmod=+x test-file
git update-index --add --chmod=-x test-file
git commit -m 'change mode back'
git push