.gitignore 忽略所有具有 *.in 的对等文件

.gitignore that ignore all the files that have a peer with a *.in

我有一些从模板生成的文件。假设我的存储库中有:

foo.c.in
bar.h.in
baz.html.in

这些文件可以通过 Make 规则生成:

$(wildcard *.in): %: %.in
    PYTHONPATH+=. mako-render $< > $@

我不想将这些生成的文件中的每一个手动添加到我的 .gitignore

foo.c
bar.h
baz.html

有没有更聪明的方法?

如果给定文件夹中只有这两组文件,您可以:

  • 忽略一切
  • 排除 *.in 个文件

也就是

*
!*.in

但是如果这些文件不是单独的,并且在多个文件夹中,那么,如评论所述,您的 Makefile 将需要生成要忽略的文件列表,或者在:

  • 一个专用的.gitignore
  • 配置变量指定的专用文件core.excludesFile