pensaba que iba a hacer mella en esto. Hay otra razón por la cual el archivo global de ignorar parece no estar funcionando. Es algo que no creo que haya sido cubierto en respuestas anteriores. Es tan obvio que - por supuesto - es muy fácil perderse.
Es decir, que git solo ignorará los archivos nuevos. Si el archivo ya está siendo rastreado por git, entonces ¡por supuesto git no lo ignorará! Por lo tanto, cualesquiera patrones en cualquier archivo gitignore
o exclude
no se aplica.
Eso tiene sentido. ¿Por qué git querría ignorar las modificaciones a los archivos que ya está rastreando?Si se debe ignorar el archivo, primero debe indicar a git que no lo rastree, luego git lo ignorará como se describe en el manual. Para obtener información sobre cómo destrabar archivos, see this answer.
Todo esto me lleva a preguntar, ¿es posible ignorar los cambios en los archivos rastreados? Nuevamente, Git cumple. Esta respuesta; Git: Ignore tracked files nos da la orden:
git update-index --assume-unchanged file
Por último, aquí hay algo de información adicional sobre la depuración de git ignorar.
El gitignore(5) Manual Page nos dice:
Patrones cual un usuario desea Git para ignorar en todas las situaciones (por ejemplo, copias de seguridad o archivos temporales generados por el editor de la elección del usuario) generalmente van en un archivo especificado por el núcleo. excludefile en el ~/.gitconfig del usuario. Su valor predeterminado es $ XDG_CONFIG_HOME/git/ignore. Si $ XDG_CONFIG_HOME no está configurado o está vacío, se usa $ HOME/.config/git/ignore en su lugar.
Por lo tanto, esto es nuevo y reemplaza al anterior ~/.gitignore_global
mencionado anteriormente.
A continuación, y esto es realmente útil, es que a partir del 1.8.2, ahora tenemos algunas excelentes herramientas de depuración. Echar un vistazo a:
Git Learns to Ignore Better - New in 1.8.2
Esto demuestra cómo utilizar la nueva bandera check-ignore
para verificar que git está ignorando con éxito sus patrones, por ejemplo,
git check-ignore bin/a.dll --verbose
@Jarrod '~/.gitignore_global' era lo que significaba el OP y solo un error en el post, aunque aceptó mi respuesta, entonces tu edición no es buena d – CharlesB