.gitignore no funciona para ** / *. xyz

Mi proyecto git contiene files .cas que no quiero que sean enviados al repository. Así agregué la línea

**/*.cas 

a mi file .gitignore pero los files .cas aún aparecerán en git status . Después de leer muchos otros posts, verifiqué que las inputs .gitignore no tengan espacios en blanco al final y que sí tienen especificadores de cambio de línea Unix.

Luego ejecuté los siguientes commands como se aconseja aquí: .gitignore no funciona

 git rm -r --cached . git add . 

¡pero en vano! git status aún se encuentra, por ejemplo

 new file: calc/2_preliminary/1_CFD/7_Calc_Fluent/03_stationary_vof_stationary/mesh_04/run_10000.cas 

¿Algunas ideas? Yo realmente lo apreciaría.

Actualizar

.gitignore file .gitignore :

 calc/ 0_BSc_Alvarez/ calc/0_Test/ documentation/Tutorial_Fluent/ literature/ thunderbird/ **/.idea/ .zim **/ND800_* **/*.cas **/*.dat **/*.cdat **/*.uns **/*.msh **/*.bak 

la versión de git es 1.7.1

Usted dijo en comentarios que usa git v1.7.1. La vieja versión de Git es el problema. **/ pattern se agregó solo en 1.8.2 , por lo que tu git simplemente no lo entiende. Además, realmente no necesitas **/ parte, debes usar solo

 *.cas 

Sus instrucciones fueron parcialmente correctas. Tu corres:

 git rm -r --cached . 

que eliminó los files no deseados de ser rastreados por Git. Pero luego, por alguna razón, decidiste volver a agregarlo usando

 git add . 

Como resultado, el file no deseado ahora aparece como un nuevo file:

 new file: calc/2_preliminary/1_CFD/7_Calc_Fluent/03_stationary_vof_stationary/mesh_04/run_10000.cas 

La razón por la cual es un file nuevo es porque ya le dijiste a Git que se olvidara.

El curso de acción correcto habría sido solo crear los files de escenario que realmente desea en el repository, lo que habría excluido los files que terminan en .cas .

Actualizar:

Intente ejecutar git rm pero esta vez solo incluya files .cas :

 git ls-files | grep '\.cas$' | xargs git rm 

Ahora, si ejecuta el git status , solo debería ver los files .cas como eliminados. Bueno, en realidad no se eliminaron de su sistema de files local, pero se eliminarán del repository.