Git:反向忽略(.gitignore)

zii*_*web 16 git

我为我的主文件夹创建了一个存储库.这是我的.gitignore档案:

!.vim/plugin/*
!.vim/doc/*
.*
*
.viminfo
.vim/.netrwhist
.vim-fuf-data/file/stats
bin/dwm/dwm
Run Code Online (Sandbox Code Playgroud)

所以当我在里面创建一个新文件时,.vim/plugin我预计在显示git status这个文件之后,但是没有..为什么?

编辑:在一对答案后,我改变了反向忽略线的位置,但是问题是相同的:我在.vim/plugin文件夹中创建的新文件后面没有显示git status..

.*
*
.viminfo
.vim/.netrwhist
.vim-fuf-data/file/stats
bin/dwm/dwm
!.vim/plugin/*
!.vim/doc/*
Run Code Online (Sandbox Code Playgroud)

Dev*_*eve 20

在第4行,你忽略了一切*.这会覆盖先前的否定模式.从手册页:

在一个优先级内,最后一个匹配模式决定结果

其中"优先级"意味着忽略模式的不同来源,如.gitignore$GIT_DIR/info/exclude.

如果你想忽略一切,但是以!你开头的模式应该移到*开头.gitignore


编辑

在SO另一个问题的帮助下找到了一个解决方案:

*
!*/
!.vim/plugin/*
Run Code Online (Sandbox Code Playgroud)