今天在项目里添加了一个新的文件,发现被git忽略了,没法提交。即使删除项目的.gitignore全部内容也不识别。
后来发现虽然项目的.gitignore没问题,可是全局的.gitignore_global里的规则屏蔽了我新建的文件。以前在全局屏蔽文件里加了一些规则,时间长了忘了,新文件命名规则被命中而没法加入git。git
优先级是项目.gitignore > 全局.gitignore。
全局git文件地址:~/.gitignore_global,能够手动建立该文件(名字能够自定义),而后在~/.gitconfig里配置core的参数excludesfile为刚才建立文件的路径:
添加这一句:github
[core] excludesfile = /Users/chenpeng/.gitignore_global
或者执行命令改变excludesfile参数:缓存
git config --global core.excludesfile ~/.gitignore_global
此外还能够经过修改项目的.git/info/exclude文件内容,添加忽略规则,这样能够不用修改.gitignore文件。只影响本地项目。code
整体优先级 .git/info/exclude > .gitignore > .gitignore_globalget
一种特殊状况:
若是先添加文件到git,再添加ignore规则将不生效,没法忽略该文件,这是常见的一种场景。这时你会怎么作?it
git rm --cached FILENAME
不过若是项目共享了,其余人应该也须要这么操做,若是没有提交到远程库能够采用这种方法。配置
参考:
https://help.github.com/artic...
这个文件提供了一些通用忽略规则:
https://gist.github.com/octoc...file