【发布时间】:2012-05-28 19:33:48
【问题描述】:
在 Git 中,您可以签入具有 644 或 755 权限的文件。我想强制所有 .sh 文件将始终存储为 755 权限,以便它们可以立即执行。尤其是windows环境下很容易不小心丢失权限。
那么,有没有办法配置它,最好是使用 .gitattributes 配置文件处理?大概可以用钩子来完成,但是有没有更干净的方法呢?
【问题讨论】:
标签: git
在 Git 中,您可以签入具有 644 或 755 权限的文件。我想强制所有 .sh 文件将始终存储为 755 权限,以便它们可以立即执行。尤其是windows环境下很容易不小心丢失权限。
那么,有没有办法配置它,最好是使用 .gitattributes 配置文件处理?大概可以用钩子来完成,但是有没有更干净的方法呢?
【问题讨论】:
标签: git
这可能使用.gitattributes filter。您可以通过以下配置获得其中的一部分:
将此添加到.gitattributes:
*.sh filter=permissions
并将其添加到.git/config:
[filter "permissions"]
clean = chmod 755 %f
只要您git add .sh 文件,就会应用干净的过滤器并更改其权限。不幸的是,权限更改不会添加到索引中,所以这个解决方案显然是不完整的。
【讨论】:
.gitattributes 文件添加到 repo,但除非其他用户在他们的配置中定义了权限过滤器,否则它不会做任何事。