有趣的要求.我很好奇你的用例实际上是什么.
你应该做这样的事情的方式是.gitignore
你需要排除的每个子树的父目录中的一个单独的(git读取树下的所有.gitignore
文件).
如果你真的想要一个单独的.gitignore
文件...好吧,我没有尝试过这个,但是通过gitignore doc,它主要是一个典型的shell glob,所以可能有用的是:
a/*/d/e/f/g a/*/*/d/e/f/g a/*/*/*/d/e/f/g
......重复着越来越多的星号,直到你期望它合理地走到最深处.
我想这里会有性能损失,但我不知道有多严重.对于过去5到10年内建造的任何系统的大多数回收可能都不会引人注意.