如何在.gitattributes中匹配任意子目录下名为blah的目录?
在.gitattributes中匹配任意子目录下的blah目录
要给任意子目录下的blah目录(如a/blah、b/blah、c/d/blah等)内的所有文件设置-diff属性,正确的模式是:
**/blah/** -diff
如果该模式对你无效,核心原因大概率是git版本过低——**的递归匹配特性是在git 1.8.2版本才引入的,升级到较新版本的git即可解决问题。
若暂时无法升级git,可以通过多模式组合覆盖不同层级的子目录:
*/blah/** -diff:匹配一级子目录下的blah(如a/blah)*/*/blah/** -diff:匹配二级子目录下的blah(如a/b/blah)- 按需添加对应层级的模式,覆盖你实际用到的目录深度
补充说明:
- 正如
man 5 gitattributes文档所述,gitattributes中末尾带斜杠的path/语法无效,必须用path/**匹配目录内的所有内容 - git不跟踪目录本身,设置目录的属性本质是将属性应用到目录下的所有文件,因此需要用
**覆盖目录内的所有层级内容
内容的提问来源于stack exchange,提问作者OJFord
相关产品推荐
相关产品推荐

