在涉及例如解析器的项目中,一些源代码是程序的产物.例如yacc,基于.yy文件生成实现解析器的源代码文件.
由于.yy文件中的小修改可能导致编译后相应源代码文件发生较大变化,并且因为生成的源代码(几乎)在生成后几乎不会被更改.这些源代码文件是.gitignore列表的完美候选者.
现在可以手动将这些文件写入列表:
lexer1.cpp
parser1.cpp
lexer2.cpp
parser2.cpp
Run Code Online (Sandbox Code Playgroud)
但是,当一个人构建一个新的解析器时,他/她将忘记将该文件添加到列表中.
有没有办法指定一个行为如下的模式:
给定文件
foo.ext1存在,忽略foo.ext2.
从而提供ext1和ext2.对于词法分析器/解析器,这意味着将此模式应用于.xx/ .cpp和.yy/ .cpp.
.gitignore直接这可能是不可能的,但也许已经为此实现了一些钩子?