Mostrar files controlados por la versión que de lo contrario serían ignorados por .gitignore actual

El título lo dice todo.

Para un ejemplo simple: en el time t1, el repository contiene files con extensiones .A y .B . En un momento posterior t2, decidimos agregar extensiones .B al file .gitignore . Me gustaría enumerar los files con la extensión .B actualmente bajo control de versiones (no para eliminarlos, solo para saber si / dónde están).

Por supuesto, en mi caso, no es solo una extensión sino muchos patrones diferentes que se han agregado al .gitignore . Y también es algo útil para conocer con fines de mantenimiento general.

Nota: No estoy interesado en files ignorados que no estén bajo el control de la versión, sé que puede enumerar aquellos que usan el git status -i .

Esto debería hacer el trabajo por usted, ya que mencionó que los files ya están bajo control de versión, si son nuevos, simplemente agregan otros al command.

 git ls-files -i --exclude-standard 

No tiene que agregarlos a .giignore , también puede usar esto:

– [no-] asumir-sin cambios

Cuando se especifica este indicador, los nombres de los objects registrados para las routes no se actualizan.

En cambio, esta opción establece / desactiva el bit "asumir sin cambios" para las routes.

Cuando el bit "asumir sin cambios" está activado, el usuario promete no cambiar el file y permite que Git suponga que el file del tree de trabajo coincide con lo que está grabado en el índice. Si desea cambiar el file de tree de trabajo, debe deshacer el bit para decirle a Git. Esto a veces es útil cuando se trabaja con un gran proyecto en un sistema de files que tiene una llamada al sistema lstat (2) muy lenta (por ejemplo, cifs).

Git fallará (correctamente) en caso de que necesite modificar este file en el índice, por ejemplo, al fusionarse en una confirmación; por lo tanto, en caso de que el file asumido no rastreado se cambie en sentido ascendente, deberá manejar la situación manualmente.

En caso de que necesite imprimir la list de files marcados con el --assume-unchanged :

 git ls-files -v|grep '^h' 

enter image description here