如何在.gitattributes中精准定位无扩展名文件?
如何在.gitattributes里精准匹配无扩展名文件
要只匹配不含点的文件名(也就是无扩展名文件),用Git路径匹配里的否定模式加通配符组合就行,不用先给所有文件设规则再逐个覆盖。
直接用下面两种写法都可以:
# 写法1:匹配所有文件名不含点的文件 *[^.] text eol=lf
# 写法2:先排除所有带点的文件,再匹配剩余的无扩展名文件 !*.* * text eol=lf
规则说明:
- 写法1里,
*[^.]的逻辑是:*匹配任意字符,[^.]限制最后一个字符不能是点,这样就能精准命中所有不带扩展名的文件(无论在哪个目录下)。 - 写法2是先通过
!*.*排除所有包含点的文件,之后的*就只会匹配剩下的无扩展名文件,逻辑更直观。
Git的规则是按顺序生效的,越往后的规则优先级越高,按上面的顺序写就能精准定位目标文件,无需再给其他文件单独设置规则。
内容的提问来源于stack exchange,提问作者Josh Brunton
相关产品推荐
相关产品推荐

