Tip: Ignorar un archivo en git que ya ha sido commiteado antes

Ignorar un archivo en git que ya ha sido commiteado antes

El Problema:

Supongamos que en el repositorio Git de un proyecto tengo 2 archivos con los que siempre he estado trabajando. Por ejemplo, imaginemos que se llamen:

  • novia.js
  • ex-novia.js

Pero de pronto, por alguna razón quiero ignorar el archivo ex-novia.js y entonces agrego este archivo en mi .gitignore para que Git no considere los cambios de ese archivo al hacer un commit.

Sin embargo, por alguna razón edito el archivo ex-novia.js y al hacer un git status sigue indicandome que aún tengo cambios por commitear.

Entonces nos preguntamos ¿Porqué Git no ignora el archivo ex-novia.js a pesar de que ese archivo yá está indicado en el .gitignore?

¿Cómo obligo a Git olvidar por completo ese archivo?

Git aún tiene registrados todos estos archivos en su cache, es por eso que la eliminaremos.

Para lograr esto, entonces ejecutamos:


git rm -r --cached .

Luego agregamos nuevamente todos los archivos que deseamos que Git registre.


git add .

Claro que esta vez ya no se estaría commiteando nuestro archivo ex-novia.js.

Y por último hacemos un git commit.


git commit -m "Ahora mi .gitignore ya ignora normalmente."

Con esto ahora sí el archivo ex-novia.js será ignorado de ahora en adelante.