在处理器涉及的项目中,一些源代码是程序的产物。例如,yacc
会根据一个 .yy
文件生成一个实现处理器的源代码文件。
由于在 .yy
文件中进行小的修改可能会导致编译后对应的源代码文件发生大的变化,并且生成的源代码文件(几乎)永远不会被修改。因此,这种源代码文件非常适合放在 .gitignore
列表中。
现在,当然可以手动将这些文件添加到列表中:
lexer1.cpp
parser1.cpp
lexer2.cpp
parser2.cpp
但是当一个人建立一个新的解析器时,很可能会忘记将文件添加到列表中。
是否有一种方式可以指定一个模式,以便按以下方式操作:
假设存在一个名为
foo.ext1
的文件,则忽略foo.ext2
。
其中提供了ext1
和ext2
。对于词法/语法分析器而言,这意味着对于.xx
/.cpp
和.yy
/.cpp
应用此模式。
这可能不能通过.gitignore
直接实现,但也许已经有一些钩子可以实现这个功能?
.yy
文件和其对应的.cpp
文件移动到子目录中,然后忽略目录中的所有.cpp
文件,这是一个选择吗? - Chrislexer*.cpp
和parser*.cpp
。 - Chris