git excluye todo en la carpeta, excepto un subdirectory

Estoy trabajando en un proyecto de nodo js y estoy creando un module de nodo que, por ahora, quiero que se agregue al proyecto en el que estoy trabajando. Entonces en mi gitignore pongo lo siguiente pero no funcionó

node_modules/* !node_modules/zephyr-rest 

El zephyr-rest es un directory, por lo que quiero save ese directory y sus files. No quiero ningún otro subdirectory bajo node_modules para ser versionado. Gracias

Prueba esto, funcionó para mí.

 node_modules/* !node_modules/zephyr-rest/ 

Después git status , se mostrará así

 Untracked files: (use "git add <file>..." to include in what will be committed) node_modules/ 

No se preocupe, porque el git status simplemente le dice a la carpeta más alta sin seguimiento que no se ha untracked no todas las subcarpetas, por lo que esto indica que hay una carpeta sin node_modules . Haciendo git add node_modules debería agregar solo node_modules/zephyr-rest/