Eliminar ficheros del repositorio Git basándonos en .gitignore

Eliminar ficheros del repositorio basándonos en gitignore

Alguna vez iniciamos un proyecto, o nos lo traemos de un colega, y por rapidez olvidamos añadir al fichero .gitignore los ficheros que no queremos que sean tratado por git, como pueden ser los ficheros ocultos de Mac Os X, de nuestro editor (phpStorm, Atom, Sublime, Visual Code,…) y ahora están en el repositorio, y presentes en nuestro índice. En este ariulo te explicamos como deshacernos de ellos sin eliminarlos de nuestro sitio local.

Editar el archivo .ignore

Antes de nada, editaremos el fichero .gitignore con el fin de decirle a Git que ignore esos ficheros.

# IntelliJ project files
.idea
*.iml

Eliminar todo del repositorio

Para borrar del indice del repositorio local usaremos:

$ git rm -r --cached .
Git : Eliminar todos los ficheros en el indice local
  • rm es el comando de eliminar
  • -r es recursivo
  • –cached sólo eliminará los archivos del índice local. Los ficheros permanecerán en su sitio. 
  • El ‘.’ indica que todos los archivos se procesarán por la orden. Puedes en su lugar usar un archivo específico con git rm --cached foo.txt

Atención, ya que el comando rm puede ser terrorífico en caso de equivocarnos. Es bueno, acostumbrarse a probar lo que se hace con anterioridad a su uso. Agregando --dry-run para ver que es lo que hará el comando.

Volver a agregar todo al repositorio

Ya solo queda, añadir todos los ficheros nuevamente a nuestro git local y enviarlo al repositorio remoto.

$ git add .
$ git commit -m ".gitignore fix"

Enlaces de provecho

La imagen procede de Unsplash gracias a unsplash-logoJason Dent por su trabajo, y editada en Canva

Comparte este articulo en

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax