在 Git 中,您可以签入具有 644 或 755 权限的文件。我想强制所有 .sh 文件将始终存储为 755 权限,以便它们可以立即执行。特别是在windows环境下很容易意外丢失权限。
那么,有没有办法配置它,最好像文件处理一样配置.gitattributes?它可能可以用钩子来完成,但是有没有更干净的方法呢?
在 Git 中,您可以签入具有 644 或 755 权限的文件。我想强制所有 .sh 文件将始终存储为 755 权限,以便它们可以立即执行。特别是在windows环境下很容易意外丢失权限。
那么,有没有办法配置它,最好像文件处理一样配置.gitattributes?它可能可以用钩子来完成,但是有没有更干净的方法呢?
这可能使用.gitattributes
过滤器。您可以通过以下配置获得其中的一部分:
将此添加到.gitattributes
:
*.sh filter=permissions
并将其添加到.git/config
:
[filter "permissions"]
clean = chmod 755 %f
只要您git add
创建了一个.sh
文件,就会应用干净的过滤器并更改其权限。不幸的是,权限更改不会添加到索引中,因此该解决方案显然是不完整的。