刚刚将some.sh文件转换为可执行文件(chmod 755…),权限更新了,但内容没有更新。是否有一种方法将文件提交到git中,以便在克隆/签出/拉时恢复/设置可执行位?
更新:我如何跟踪新的权限被提交到github?
刚刚将some.sh文件转换为可执行文件(chmod 755…),权限更新了,但内容没有更新。是否有一种方法将文件提交到git中,以便在克隆/签出/拉时恢复/设置可执行位?
更新:我如何跟踪新的权限被提交到github?
当前回答
正如Adam所写的:Git不会跟踪整个文件模式。 https://git-scm.com/docs/git-config#Documentation/git-config.txt-corefileMode
其他回答
默认情况下,如果你改变了执行文件的权限,git会更新它们。它不会更改或跟踪任何其他权限。
如果你在修改执行权限时没有看到任何变化,你可能在git中有一个忽略文件模式的配置。
查看你的项目,在.git文件夹中的配置文件,你应该会看到如下内容:
[core]
filemode = false
你可以在你最喜欢的文本编辑器中将其更改为true,或者运行:
git config core.filemode true
然后,您应该能够正常提交文件。它只会提交权限更改。
@fooMonster的文章对我有用
# git ls-tree HEAD
100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh
如您所见,该文件的权限为644(忽略100)。我们想更改为755。
# git update-index --chmod=+x script.sh
提交更改
# git commit -m "Changing file permissions"
[master 77b171e] Changing file permissions
0 files changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 script.sh
正如Adam所写的:Git不会跟踪整个文件模式。 https://git-scm.com/docs/git-config#Documentation/git-config.txt-corefileMode