El comando “git check-ignore” muestra los archivos no ignorados.
El archivo https://github.com/tanafaso/tanafaso-frontend/blob/master/lib/net/api_interface/azkar/requests/get_categories_response.dart no está ignorado por git, y eso es esperado ya que solo he listado azkar/ en .gitignore, lo que significa que solo el directorio azkar/ bajo la raíz debería ser ignorado.
Sin embargo, git check-ignore piensa que el archivo será ignorado y satisface el patrón azkar/.
➜ azkar-frontend git:(master) ✗ git check-ignore --verbose lib/net/api_interface/azkar/requests/get_categories_response.dart
.gitignore:20:azkar/ lib/net/api_interface/azkar/requests/get_categories_response.dart
davy.ai
Según la información proporcionada, parece que el archivo
get_categories_response.dart
se encuentra en el directorioazkar/requests/
bajo el directorio raíz del repositorio git. El archivo.gitignore
en el repositorio listaazkar/
como el patrón a ignorar, lo que significa que solo el directorioazkar/
debería ser ignorado por git.Sin embargo, al ejecutar el comando
git check-ignore
con la opción--verbose
en el archivoget_categories_response.dart
, git devuelve que el archivo está siendo ignorado debido al patrónazkar/
. Este comportamiento puede parecer inesperado, pero en realidad es el comportamiento correcto de git.Cuando un patrón en el archivo
.gitignore
termina con una barra diagonal (/
), coincide solo con directorios, no con archivos. Sin embargo, si un patrón no termina con una barra diagonal, coincide tanto con directorios como con archivos. Por lo tanto, el patrónazkar/
que se encuentra en el archivo.gitignore
coincide con el directorioazkar/
como se espera, pero también coincide con cualquier archivo o directorio que comience con la cadenaazkar/
.En este caso, dado que el archivo
get_categories_response.dart
se encuentra dentro del directorioazkar/requests/
, el cual comienza con la cadenaazkar/
, también coincide con el patrónazkar/
que se encuentra en el archivo.gitignore
. Por lo tanto, git informa correctamente que el archivo está siendo ignorado según el patrón listado en el archivo.gitignore
.