.gitignore es ignorado por Git
.gitignore
Parece que Git ignora mi archivo. ¿Podría ser que.gitignore
archivo. ¿Podría estar dañado el archivo? ¿Qué formato de archivo, configuración regional 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 gustaria debug.log
ynbproject/
no aparecer en la lista de archivos sin seguimiento.
¿Dónde debería empezar a buscar para solucionar este problema?
Incluso si no has rastreado los archivos hasta ahora, Git parece ser capaz de "conocerlos" incluso después de agregarlos al archivo .gitignore
.
ADVERTENCIA: Primero confirme o guarde los cambios actuales o los perderá.
Luego ejecute los siguientes comandos desde la carpeta superior de su repositorio Git:
git rm -r --cached .
git add .
git commit -m "fixed untracked files"
Si parece que Git no nota los cambios que realizó en su .gitignore
archivo, es posible que desee verificar los siguientes puntos:
Es posible que haya un
.gitignore
archivo global que pueda interferir con el local.Cuando agregas algo a un archivo .gitignore, prueba esto:
git add [uncommitted changes you want to keep] && git commit git rm -r --cached . git add . git commit -m "fixed untracked files"
Si elimina algo de un archivo .gitignore y es posible que los pasos anteriores no funcionen, si descubre que los pasos anteriores no funcionan, intente esto :
git add -f [files you want to track again] git commit -m "Refresh removing files from .gitignore file." // For example, if you want the .java type file to be tracked again, // The command should be: // git add -f *.java
Fijado. 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 máquina Linux y cuando lo regresé a Windows ¡funciona bien! ¡Hurra!
Sin agregar otra confirmación a su proyecto, una línea será suficiente para que funcione .gitignore
como se supone:
git rm -r --cached debug.log nbproject
Esto los eliminará del repositorio, pero aún los mantendrá físicamente. En términos sencillos, elimina cualquier historial de cambios relacionados con ellos y tampoco realizará un seguimiento de sus cambios en ninguna confirmación futura. Puede encontrar una mejor explicación aquí .
Otra causa de este problema son los espacios en blanco o tabulaciones antes de la declaración:
Ejemplo:
# Be aware of the following:
notWorkingIgnore.*
workingIgnore.*
Y como lo señala el comentario a continuación, un espacio final también puede ser un problema:
# Be aware of the following:
notWorkingIgnore.* #<-Space
workingIgnore.*#<-Nospace