4
在Git中,您可以使用644或755权限检入文件。我想强制所有.sh文件将始终存储为755个权限,以便它们可以立即执行。特别是在Windows环境中,意外丢失权限很容易。Git:强制执行shell脚本执行权限
那么,有没有一种方法来配置它,最好像文件处理配置.gitattributes?它可能可以用钩子完成,但有没有更干净的做法呢?
在Git中,您可以使用644或755权限检入文件。我想强制所有.sh文件将始终存储为755个权限,以便它们可以立即执行。特别是在Windows环境中,意外丢失权限很容易。Git:强制执行shell脚本执行权限
那么,有没有一种方法来配置它,最好像文件处理配置.gitattributes?它可能可以用钩子完成,但有没有更干净的做法呢?
这可能是使用.gitattributes
filter。
一下添加到.gitattributes
:
*.sh filter=permissions
这添加到.git/config
:您可以通过以下配置获得一部分的方式有
[filter "permissions"]
clean = chmod 755 %f
只要你git add
一个.sh
文件,干净的过滤器将被应用并且其权限将被改变。不幸的是,权限更改不会被添加到索引中,所以这个解决方案显然是不完整的。
我是否正确理解过滤器将是反正的东西,必须在本地完成,而不是我们可以存储在版本控制中的任何东西,因此它将适用于使用回购的任何人? – eis
你说得对,我没有想到:你可以将'.gitattributes'文件添加到回购站,但除非其他用户在其配置中定义了权限过滤器,否则它不会执行任何操作。 – georgebrock