2431 votos

Ignorar los archivos que ya se han comprometido a un repositorio de Git

Tengo una ya inicializado repositorio git que he añadido un archivo .gitignore, ¿cómo puedo actualizar el archivo de índice para los archivos que desea ser ignorado ignorado?

4030voto

trobrock Puntos 17439

A untrack un único archivo que ya ha sido agregado/se inicializa a su repositorio, es decir, detener el seguimiento del archivo, pero no se borrará de su sistema de uso: git rm --cached filename

A untrack cada archivo que se encuentra ahora en su .gitignore:

Primer commit pendiente de los cambios de códigoy, a continuación, ejecute este comando:

git rm -r --cached .

Esto elimina los archivos modificados desde el índice(área de ensayo), a continuación, sólo tiene que ejecutar:

git add .

Commit:

git commit -m ".gitignore is now working"

577voto

dyodji Puntos 1899

Si usted está tratando de ignorar los cambios a un archivo que ya se registran en el repositorio (por ejemplo. un dev.properties archivo que usted necesita para cambiar su medio ambiente local, pero usted nunca desea comprobar en estos cambios) de lo que usted quiere hacer es:

git update-index --assume-unchanged <file>

Si quieres iniciar el seguimiento de cambios de nuevo

git update-index --no-assume-unchanged <file>

Ver git-actualización de índice(1) Manual de la Página.

También eche un vistazo a las skip-worktree y no-skip-worktree opciones para la actualización del índice si usted necesita esto para conservar pasado un git reset (a través de)


Actualización: Dado que las personas han estado preguntando, he aquí una conveniente (y actualizado desde comentado a continuación) alias para ver qué archivos son "ignorados" (--asumir-sin cambios) en su espacio de trabajo local

$ git config --global alias.ignored = !git ls-files -v | grep "^[[:lower:]]"

358voto

pagetribe Puntos 5071

A untrack un archivo que ya ha sido agregado/se inicializa a su repositorio, es decir, detener el seguimiento del archivo, pero no se borrará de su sistema de uso: git rm --cached filename

83voto

Antony Stubbs Puntos 4236

Sí - .gitignore sistema sólo ignora los archivos que no se encuentra actualmente bajo el control de versiones git. Es decir. si ya ha agregado un archivo llamado test.txt el uso de git-agregar, a continuación, agregar test.txt a .gitignore causará cambios test.txt para ser rastreados. Usted tendría que git-rm test.txt en primer lugar, se comprometen a que cambie. Sólo entonces, los cambios en test.txt ser ignorado.

52voto

MikeJansen Puntos 737

Eliminando los espacios en blanco en .gitignore

También, asegúrese de que no tiene tirados en los espacios en blanco en su .gitignore. Llegué a esta pregunta ya que yo estaba buscando una respuesta, entonces tuve la extraña sensación de que debo abrir el editor, en lugar de sólo gato ing .gitignore. Quita un solo espacio extra de la final y puf funciona ahora :)

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X