Git ignore - Como você substitui uma exceção em um ignore-all?

Eu quero criar um repositório git das minhas configurações e plugins do bash e outros enfeites. Ignorei tudo (linha 0) e adicionei manualmente os arquivos / pastas que desejo no repositório. (Eu tenho que fazer dessa maneira, porque o repo está no meu~ .) Quero ignorar todos os perfis de cores no diretório .vim / colors /, mas desejo incluir o arquivo que estou usando (apprentice.vim).

o.vim/colors/* A linha parece não funcionar - não ignora nenhum dos arquivos. Usando!!.vim/colors/* também não funciona. Como devo fazer com que ele substitua todas as regras anteriores e ignore a pasta colors, e ainda permita que o arquivo apprentice.vim seja ignorado?

/*

*.swp

!.gitignore

!.bashrc
!.bash_profile

!.vimrc
!.vim
.vim/colors/* # Don't include all of the other color schemes
!.vim/colors/apprentice.vim

questionAnswers(2)

yourAnswerToTheQuestion