Pregunta .gitignore no funciona


Mi .gitignore archivo parece estar siendo ignorado por git - podría el .gitignore archivo estar corrupto? ¿Qué formato de archivo, lugar o cultura espera Git?

Mi .gitignore:

#this is a comment
debug.log
nbproject/

Salida de git status:

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       debug.log
#       nbproject/
nothing added to commit but untracked files present (use "git add" to track)

Me gustaría debug.log y nbproject/ no aparecer en la lista de archivos sin seguimiento.

¿Dónde debería empezar a buscar para arreglar esto?


1069
2017-07-12 12:09


origen


Respuestas:


Incluso si no ha rastreado los archivos hasta el momento, git parece ser capaz de "saber" sobre ellos incluso después de agregarlos a .gitignore.

NOTA : Primero comprometa sus cambios actuales, o los perderá.

Luego ejecuta los siguientes comandos desde la carpeta superior de tu git repo:

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

2249
2017-07-12 12:20



Cuando el archivo .gitignore no está funcionando (agregando algo en el archivo .gitignore o eliminando algo del archivo .gitignore), puede verificar los siguientes consejos:

  1. debes prestar atención al archivo global de gitignore que algunas veces puede influir en su gitignore.
  2. Cuando agrega algo en el archivo .gitignore, como la persona que respondió esta pregunta primero:

    git rm -r --cached .
    git add .
    git commit -m "fixed untracked files"  
    
  1. Cuando elimina algo del archivo .gitignore.Los pasos anteriores   no funciona para ti. Puedes intentar esto:
    git add -f "filetype"
    git commit -m "Refresh removing filetype from .gitignore file."

el "tipo de archivo" significa el archivo o tipo de archivo que desea eliminar del archivo .gitignore. Desea hacer que el tipo de archivo se rastree nuevamente.


210
2017-09-03 13:54



Fijo. Bien, creé el archivo .gitignore en el bloc de notas de Windows y no funcionaba. Cuando vi el archivo .gitignore en linux parecía un galimatías organizado, tal vez el bloc de notas había escrito unicode en lugar de ascii o lo que sea de 8 bits.

Así que reescribí el archivo en mi linux box, y cuando lo retomé en windows ¡funciona bien! ¡Hurra!


131
2017-07-12 12:30



Sin agregar otro compromiso a su proyecto, una línea será suficiente para hacer .gitignore trabajar como se supone que debe:

git rm -r --cached debug.log nbproject

Esto lo eliminará del repositorio pero aún así lo mantendrá físicamente, en un lenguaje sencillo, borrará cualquier historial de cambios relacionados con ellos, y tampoco hará un seguimiento de su cambio en cualquier compromiso futuro. Una mejor explicación puede encontrarlo aquí.


77
2018-03-19 23:40



Otra causa de este problema son espacios en blanco o pestañas antes de la declaración:

Ejemplo:

#Be aware of following:
 notWorkingIgnore.*
workingIgnore.*

Y como lo señala el comentario abajo, un espacio posterior también puede ser un problema

#Be aware of following:
notWorkingIgnore.* #<-Space
workingIgnore.*#<-Nospace

31
2017-12-23 01:48



Noté que la codificación de .gitignore estaba teniendo un efecto: si el archivo era Unicode, se ignoraba; si era ASCII, no lo era.

Proceso:

  1. Verificar estado: PS> git status
  2. Crea una función para Get-FileEncoding
  3. Prueba .gitignorede codificación: PS> Get-FileEncoding .gitignore
  4. Cambiar la codificación a ASCII: PS> Set-Content .gitignore -Encoding Ascii -Value (Get-Content .gitignore)
  5. Confirmar: PS> git status

27
2017-08-13 21:14



Al igual que con las otras soluciones, comprométase primero y tenga en cuenta que PERDERÁ cualquier cambio no comprometido.

Tengo mejores resultados con esto:

git rm -r --cached .
git reset HEAD --hard
git status

Tenga en cuenta que el estado no debería tener archivos modificados ahora.


16
2017-11-14 23:13