【问题标题】:Git: shell script execute permissions enforcedGit:强制执行shell脚本执行权限
【发布时间】:2012-05-28 19:33:48
【问题描述】:

在 Git 中,您可以签入具有 644 或 755 权限的文件。我想强制所有 .sh 文件将始终存储为 755 权限,以便它们可以立即执行。尤其是windows环境下很容易不小心丢失权限。

那么,有没有办法配置它,最好是使用 .gitattributes 配置文件处理?大概可以用钩子来完成,但是有没有更干净的方法呢?

【问题讨论】:

    标签: git


    【解决方案1】:

    这可能使用.gitattributes filter。您可以通过以下配置获得其中的一部分:

    将此添加到.gitattributes

    *.sh    filter=permissions
    

    并将其添加到.git/config:

    [filter "permissions"]
            clean = chmod 755 %f
    

    只要您git add .sh 文件,就会应用干净的过滤器并更改其权限。不幸的是,权限更改不会添加到索引中,所以这个解决方案显然是不完整的。

    【讨论】:

    • 我是否理解正确,过滤器无论如何都是必须在本地完成的,而不是我们可以存储在版本控制中的任何东西,所以它适用于任何使用 repo 的人?
    • 你说得对,我没有想到:你可以将 .gitattributes 文件添加到 repo,但除非其他用户在他们的配置中定义了权限过滤器,否则它不会做任何事。
    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2012-08-25
    • 2013-09-19
    • 1970-01-01
    • 2011-08-09
    • 2012-07-01
    • 2018-01-19
    相关资源
    最近更新 更多