Git:强制执行shell脚本执行权限
在Git中,您可以使用644或755权限签入文件。我希望强制所有的.sh文件将始终存储为755权限,以便可以立即执行。特别是在windows环境下,很容易意外丢失权限Git:强制执行shell脚本执行权限,git,Git,在Git中,您可以使用644或755权限签入文件。我希望强制所有的.sh文件将始终存储为755权限,以便可以立即执行。特别是在windows环境下,很容易意外丢失权限 那么,有没有一种方法来配置它,更像是用.gittributes配置文件处理?它可能可以用钩子来完成,但是有没有更干净的方法呢?这可能是用钩子来完成的。通过以下配置,您可以部分到达: 将此添加到.gittributes: *.sh filter=permissions 并将其添加到.git/config: [filter "
那么,有没有一种方法来配置它,更像是用.gittributes配置文件处理?它可能可以用钩子来完成,但是有没有更干净的方法呢?这可能是用钩子来完成的。通过以下配置,您可以部分到达: 将此添加到
.gittributes
:
*.sh filter=permissions
并将其添加到.git/config
:
[filter "permissions"]
clean = chmod 755 %f
只要您
git添加a.sh
文件,就会应用干净的过滤器,并更改其权限。不幸的是,权限更改不会添加到索引中,因此此解决方案显然是不完整的。我是否正确理解,过滤器无论如何都是必须在本地完成的,而不是我们可以存储在版本控制中的任何东西,因此它将适用于任何使用repo的人?你是对的,我没有想到:您可以将.gittributes
文件添加到repo中,但除非其他用户在其配置中定义了权限过滤器,否则它不会做任何事情。