我需要忽略以下内容。
在路径中,例如/a/b/c/d/e/f/g
,我需要忽略/d/e/f/g
。我还需要能够忽略每个出现在a
下面的/d/e/f/g
。我尝试过d/e/f/g
,但没有成功。有什么想法吗?
有趣的需求。我很好奇你实际的用例是什么。
像这样做的正确方法是在需要排除的每个子树的父目录中设置一个单独的.gitignore
文件(git会在遍历整个目录结构时读取所有的.gitignore
文件)。
如果你真的想要一个单一的.gitignore
文件... 好吧,我没有尝试过这个,但根据gitignore文档,它主要是一个典型的shell通配符,所以可能有效的方法是:
a/*/d/e/f/g a/*/*/d/e/f/g a/*/*/*/d/e/f/g
......重复增加星号的数量,直到您认为合理为止。
我想这里会有一些性能惩罚,但我不知道有多严重。对于大多数在过去5-10年内建造的系统上的大多数存储库来说,这可能不会被注意到。
尝试:
**/d/e/f/g
或者:
a/**/d/f/g