Archivos de Visual Studio copiados en GitHub pero listados en .gitignore

Archivos de Visual Studio copiados en GitHub pero listados en .gitignore

No puedo entender qué me falta al intentar evitar que Visual Studio 2019 Team Explorer copie archivos a GitHub cuando el archivo .gitignore los enumera.

Mi archivo .gitignore está en el mismo directorio que el directorio .git. Está en su totalidad:

# Binaries
/x64/

# VS log files
*.log
*.tlog

# Visual Studio files and folder
/.vs/

Cuando deseo realizar cambios, VS muestra lo siguiente:

ingrese la descripción de la imagen aquí

nodesea enviar Tetris_Game.exe, ni ningún archivo .tlog o .log, ni nada de la carpeta .vs. Sin embargo, como puede ver, esos archivos y directorios están listados para su compromiso.

¿Qué me estoy perdiendo que tiene que ser muy obvio?

Respuesta1

Esto se debe a que todos estos archivos con extensión .exe, .tlog y .log también estarán presentes en su repositorio git. Por lo tanto, cualquier cambio en estos archivos será rastreado con seguridad.
Para que .gitignore funcione como se esperaba, realice los pasos a continuación:

  1. Elimina todos los archivos que quieras ignorar localmente.
  2. Luego comprométete y presiona. Ahora su repositorio y su archivo .gitignore están en estado consistente.
  3. Reinicie VS y realice un extracción.
  4. Construya su solución/proyecto.

Ahora observe su ventana de cambio de git, estos archivos no deberían aparecer en la lista, aunque se generen en su máquina local.

Respuesta2

La barra diagonal inicial /.vs/y /x64/significa que son rutas absolutas desde la raíz del sistema de archivos.

Para una PC con Windows con el repositorio ubicado en cualquier lugar de la unidad C:, su .gitignore ignoraría los archivos en C:\.vs\y C:\x64\.

Elimine la barra diagonal inicial y déjelas como .vs/y x64/.
Luego se interpretarán como rutas relativas al archivo .gitignore.

información relacionada