在使用shell正则匹配时需要注意这个环境变量:GLOBIGNORE,GLOBIGNORE可以用于控制shell在使用通配符匹配文件时应该忽略哪些文件或目录。该变量的值应该是一个以冒号分隔的文件名列表,表示希望在通配符扩展时忽略的文件或目录,例如,如果GLOBIGNORE的值为.git:*.txt,那么在使用ls*命令列出所有非隐藏文件时,ls命令将会忽略以.git开头的文件或目录,以及所有以.txt结尾的文件。

据我所知导致.gitignore里的忽略规则失效只有两种情况,当然我对Git的使用和理解比较浅薄,也只能想到这两个方面:一种是忽略规则的语法错误,这种情形好处理,只要修正错误的语法就可以了。PS:本文不对语法错误的问题详细说明,毕竟每个人情况不同。排查语法问题这事我也不知道怎么举例,总之只要符合官方规范的就可以了,需要注意的好像也就一个路径问题吧?

idea提交至git,但是有些文件我们是不需要提交的,那么我们需要配置.gitignore插件,将不需要提交的文件进行忽略1,Settings>Plugins>搜索.ignore,我是已经安装了的,如下图2,安装插件后,去生成.gitignore初始文件项目右键>New>.ignore(Git),如下图3,进行上面操作后会出现如下弹窗,可以直接搜索java配置忽然文件,也可不选,直接点击Gennerate生成文件4,生成的文件如下图5,但是一般情况下idea添加.idea,
3、.gitignore文件忽略自身.gitignore文件忽略他本身?这确实是一个奇葩的需求,.gitignore作为一个repo的一部分,本身就应该是存在的,如果什么都不想忽略,那么就没必要建一个文件了.当然,还是有方法解决这个问题的,首先如果把.gitignore加到.gitignore文件中,是不起作用的.不过可以加到.git/info/exclude这个文件中。