gitattributes:匹配两个名称几乎相同的文件,区别仅在于另一个固定字符串

时间:2016-02-21 09:03:56

标签: git shell smarty wildcard gitattributes

背景

使用智能模板时,您可以通过创建文件副本来覆盖文件,并将字符串 -USERMOD 添加到其中,如下所示:

original_file.html
original_file-USERMOD.html

有没有办法在我的.gitattributes文件中定位两个文件?

只需定位第二种类型的文件很简单:

*-USERMOD* export-ignore

从字面上讲,规则是这样的:
"如果有任何文件的副本以-USERMOD.original_extension结尾,请忽略它们,副本原始"

我当然可以手动添加这些文件,但自动化解决方案会很好。

gitignore(5)的手册页(由gitattributes(5)引用以解释模式匹配)说:

  

否则,Git将模式视为适合fnmatch(3)使用FNM_PATHNAME标志消耗的shell glob

据我所知,shell globs无法满足我的需求。然而,最终目标是告诉git导出 - 忽略USERMOD文件及其原始文件,因此任何解决此问题的解决方案都将被接受。

1 个答案:

答案 0 :(得分:0)

以我的经验:

original_file*.html

如果您不介意获得诸如以下文件之类的被忽略的文件,

  

“ original_file [withABunchOfStuffAroundHere] .html”

因此,

*-USERMOD* export-ignore

对于您的回购来说可能是更具体的模式