简介
经常将bash脚本添加到我的git存储库中,并且脚本在之前的linux文件系统中具有可执行权限git add
。
但是,在将添加的文件推送到远程存储库并拉入另一个位置后,这些文件将显示为具有非可执行权限。
似乎有两种方法可以解决问题:
1. chmod u+x $script
git commit -am "fixing the script permissions... again..."
要么
2. git update-index --chmod=+x $script
追问
有没有一种方法可以让git简单地查看脚本上的文件权限git add
,
并认识到“嘿,这是一个可执行文件!” 并直接使用exectuable权限将其添加到存储库?
add
:添加--chmod=+x
/--chmod=-x
选项可执行位不会被检测到(因此不会设置),用于与存储库的路径
core.filemode
设置为false。虽然用户仍然可能希望添加文件作为可执行文件与谁其他用户的兼容性,有
core.filemode
功能。例如,添加shell脚本的Windows用户可能希望将它们添加为可执行文件,以便与非Windows上的用户兼容。
虽然这可以通过管道命令(
git update-index --add --chmod=+x foo
)完成。但是,该
git-add
命令允许用户,使用他们已经熟悉的命令,设置文件为可执行文件。