在我的'.gitignore'中** /。想法的开头是什么意思

时间:2017-08-03 02:46:49

标签: git

我的.gitignore文件

**/target/
**/.settings/
**/.classpath
**/.project
**/.idea/
**/*.iml
**/*.log

我不知道开头的'** /'的含义

1 个答案:

答案 0 :(得分:0)

双星号(**)很好documented

  

两个连续的星号(“**”)与完全匹配的模式   pathname可能有特殊含义:

     
      
  • 前导“**”后跟斜杠表示所有目录都匹配。对于   例如,“**/foo”在任何地方匹配文件或目录“foo”,相同   作为模式“foo”。 “**/foo/bar”匹配文件或目录“bar”   位于“foo”目录下的任何地方。

  •   
  • 尾随“/**”匹配内部的所有内容。例如,“abc/**”   匹配目录“abc”内的所有文件,相对于位置   .gitignore文件,无限深度。

  •   
  • 斜线后跟两个连续的星号,然后斜线匹配   零个或多个目录。例如,“a/**/b”匹配“a/b”,   “a/x/b”,“a/x/y/b”等等。

  •   
  • 其他连续的星号被视为无效。

  •   

您的案例与第一个案例匹配,因此这一行:**/.idea/表示:忽略存储库中任何目录中的.idea目录。因此它会匹配/.idea//foo/.idea//foo/bar/.idea/等。