git 在挂接中强制给定文件类型的扩展名

wpx232ag  于 2022-12-02  发布在  Git
关注(0)|答案(1)|浏览(127)

我如何配置一个预提交钩子,它将强制yaml/yml文件具有yaml扩展名。

lol.yaml

未通过:

lol.yml
ulydmbyx

ulydmbyx1#

列出所有缓存文件,不包括已删除的文件。检查每个文件的扩展名。如果其中任何文件以.yml结尾,则挂接失败。
在巴什的一个演示

#!/bin/bash

git diff --cached --name-status --diff-filter=d | awk '
    /\.yml$/ {
        print "ERROR: pre-commit failed"
        print $NF
        print "The extension \".yml\" is not allowed. Use \".yaml\" instead"
        exit 1
    }
'

这个演示只检查扩展名。如果需要的话,你也可以在检查扩展名之前先检查一个文件是否真的是YAML文件。YAML文件以三个破折号开头,所以找到真正的YAML文件并不复杂。

相关问题