Saltar al contenido principal

Cómo utilizar .gitignore: Una introducción práctica con ejemplos

Aprende a utilizar .gitignore para mantener limpio tu repositorio Git. Este tutorial cubre los aspectos básicos, casos de uso comunes y ejemplos prácticos para ayudarte a empezar.
Actualizado 4 mar 2025  · 17 min de lectura

Cuando trabajas con Git, mantener tu repositorio limpio y organizado no es sólo una buena práctica: es esencial para una colaboración fluida y un control de versiones eficiente. Ahí es donde entra .gitignore. Este práctico archivo indica a Git qué archivos debe ignorar, evitando el desorden innecesario y manteniendo tus confirmaciones centradas en lo que realmente importa.

Sin .gitignore, tu repositorio puede llenarse rápidamente de archivos temporales, registros y otras cosas que no pertenecen al control de versiones. Peor aún, podrías compartir accidentalmente información sensible.

En este tutorial, aprenderás a crear y utilizar un archivo .gitignore para mantener tu proyecto ordenado, evitar errores comunes y trabajar más eficazmente con Git. ¡Vamos a sumergirnos!

¿Qué es un archivo .gitignore?

Un archivo .gitignore es un archivo de configuración utilizado en Git para indicar al sistema de control de versiones qué archivos o directorios deben ignorarse cuando los cambios se ponen en escena o se envían. 

Evita que los archivos innecesarios -como los temporales, los generados por el sistema o los relacionados con la construcción- abarroten tu repositorio. Mantener limpio tu repositorio facilita la colaboración y garantiza que sólo se haga un seguimiento de los archivos esenciales.

El archivo .gitignore es un simple archivo de texto colocado en el directorio raíz de tu repositorio Git. Contiene patrones que indican a Git qué archivos o directorios debe ignorar. Estos patrones pueden personalizarse para adaptarse a las necesidades de tu proyecto, ayudándote a mantener un repositorio bien organizado.

¿Eres nuevo en Git y GitHub? Consigue una introducción fácil para principiantes al control de versiones con este tutorial de GitHub y Git.

Aquí tienes algunas categorías comunes de archivos y directorios que deberías considerar ignorar:

  • Construye artefactos: Archivos generados durante el proceso de construcción que pueden volver a crearse a partir del código fuente, como:
    • dist/, build/ (salidas de construcción frontend y backend)
    • target/ (Java y otros lenguajes compilados)
  • Dependencias: Los sistemas de gestión de paquetes crean directorios para las bibliotecas instaladas, que no deben rastrearse:
    • node_modules/ (Node.js)
    • vendor/ (PHP, Compositor)
    • .venv/, venv/ (Entornos virtuales Python)
  • Archivos específicos del sistema: Estos archivos los genera automáticamente el sistema operativo y no contribuyen al proyecto:
    • .DS_Store (macOS)
    • Thumbs.db (Windows)
  • Archivos de configuración del IDE: Cada desarrollador puede utilizar un entorno de desarrollo distinto, por lo que su configuración personal no debe incluirse en el control de versiones:
    • .vscode/ (Código VS)
    • .idea/ (IDEs JetBrains)
    • .project, .settings/ (Eclipse)
  • Registros y archivos temporales: Los registros, cachés y archivos temporales deben ignorarse para evitar un desorden innecesario:
    • *.log, npm-debug.log*, yarn-debug.log*, yarn-error.log* (Registros de varias herramientas)
    • *.tmp, *.bak (Archivos temporales y de copia de seguridad)
    • .mypy_cache/, __pycache__/ (cachés de Python)
    • .ipynb_checkpoints/ (Puntos de control de Jupyter Notebook)
  • Archivos de entorno y secretos: Las credenciales sensibles y las configuraciones específicas del entorno nunca deben comprometerse:
    • .env, .env.local, .env.development, .env.production
    • secrets.json, config.json (Archivos de configuración sensibles)
  • Base de datos y archivos de almacenamiento: Se generan localmente y no deben incluirse en el control de versiones:
    • *.sqlite, *.sqlite3, *.db (archivos de base de datos SQLite)
    • dump.rdb (Volcado de la base de datos Redis)
  • CI/CD y archivos de cobertura: Los informes de cobertura de pruebas y otros artefactos de CI/CD deben ignorarse:
    • coverage/, *.lcov (Informes de cobertura de códigos)
    • .tox/, .pytest_cache/ (archivos de prueba de Python)

¿Necesitas instalar Git? Sigue nuestra guía paso a pasoe en este tutorial de instalación de Git para configurarlo rápidamente.

Aprende hoy los fundamentos de Git

Para principiantes: Control de versiones maestro mediante Git.
Empieza a aprender gratis

Sintaxis de .gitignore

Como ya hemos dicho, los archivos .gitignore contienen patrones que se comparan con los nombres de archivo de tu repositorio para determinar si deben ser ignorados o no.

Sintaxis básica

En esencia, el archivo .gitignore consta de líneas, cada una de las cuales representa un patrón que debe ignorarse. Los patrones pueden coincidir:

  • Ficheros específicos
  • Tipos de archivos
  • Directorios 

El archivo también admite comentarios, que pueden añadirse iniciando una línea con #, y líneas en blanco para mejorar la legibilidad.

Aquí tienes un resumen de la estructura básica:

  • Ignorar un archivo concreto: Puedes listar directamente el nombre del archivo para ignorarlo.
secrets.txt
  • Ignora un directorio entero: Añadiendo un / al final del nombre del directorio, puedes ignorar todo lo que haya dentro de ese directorio.
logs/
  • Ignora todos los archivos de un tipo específico: Se pueden utilizar comodines (*) para ignorar todos los archivos con una extensión determinada.
*.py
  • Negación: Puedes utilizar ! para negar un patrón y rastrear explícitamente determinados archivos o directorios que, de otro modo, se ignorarían.
*.txt  # Ignores all .txt files
!readme.txt  # Except for readme.txt

Cómo crear y utilizar un archivo .gitignore

Crear y utilizar .gitignore es bastante sencillo. En esta sección, recorreré los pasos.

Crear un archivo .gitignore

Paso 1: Navega hasta la raíz de tu repositorio. El archivo .gitignore suele colocarse en el directorio raíz de un proyecto Git. Abre tu terminal o línea de comandos y navega hasta el directorio raíz de tu repositorio Git:

cd /path/to/your/repo

Paso 2: Crea el archivo .gitignore. Una vez en el directorio raíz, crea el archivo .gitignore utilizando cualquier editor de texto o ejecutando un comando en el terminal, como por ejemplo

touch .gitignore

Paso 3: Añade patrones al archivo. Abre el archivo .gitignore en un editor de texto y añade los patrones necesarios para ignorar archivos o directorios. Cada línea representa un patrón diferente.

Aquí tienes un ejemplo de archivo .gitignore utilizado habitualmente en un proyecto básico:

# Ignore node_modules and dependency directories
node_modules/
vendor/

# Ignore build artifacts
dist/
build/
*.log

# Ignore system-generated files
.DS_Store
Thumbs.db

# Ignore environment and secret files
.env
config.json

Cuando hayas añadido los patrones necesarios, guarda el archivo. Ahora Git ignorará automáticamente estos archivos al preparar o confirmar cambios.

Paso 4: Consigna el archivo en el repositorio. Es importante enviar el archivo .gitignore al repositorio para que todos los colaboradores utilicen las mismas reglas de ignorar. Esto garantiza la coherencia en todo el proyecto para todos los implicados.

git add .gitignore
git commit -m "Add .gitignore file"
git push

Una vez confirmado el archivo .gitignore, establece reglas de ignorar compartidas para todo el equipo.

¿Quieres dominar el push y el pull en Git? Aprende a sincronizar tu trabajo con repositorios remotose en este tutorial Git push and pull.

Buenas prácticas para utilizar .gitignore

Aunque crear un archivo .gitignore es una parte sencilla del mantenimiento de un repositorio Git limpio, deben seguirse varias buenas prácticas para garantizar que el archivo se gestiona eficazmente a lo largo del tiempo.

Utiliza un .gitignore global

Para los desarrolladores que trabajan en varios proyectos, hay archivos específicos que tal vez quieras excluir de cada repositorio, independientemente del tipo de proyecto.

En lugar de añadirlos al archivo .gitignore de cada proyecto, puedes configurar un .gitignore global que se aplique a todos los repositorios de tu sistema.

Para configurar un archivo global .gitignore:

  • Crea un archivo .gitignore_global:
touch ~/.gitignore_global
  • Añade patrones para los archivos que quieras ignorar globalmente, como por ejemplo
.DS_Store
*.log
/.vscode/
/.idea/
  • Configura Git para que utilice la dirección global .gitignore:
git config --global core.excludesfile ~/.gitignore_global

Aprovecha las plantillas existentes

En lugar de crear un archivo .gitignore desde cero para cada nuevo proyecto, puedes aprovechar las plantillas preconfiguradas de .gitignore para lenguajes, frameworks o entornos específicos.

Uno de los mejores recursos para estas plantillases el repositorio oficial .gitignore de GitHub, donde puedes encontrar archivos .gitignore adaptados a cientos de lenguajes de programación y frameworks.

Revisa .gitignore regularmente

A medida que los proyectos evolucionan, puede ser necesario incluir nuevos archivos y directorios en el archivo .gitignore. Es importante que revises y actualices periódicamente tu archivo para reflejar el estado actual de tus proyectos.

Algunas situaciones en las que podrías necesitar actualizar el archivo .gitignore son:

  • Adoptar nuevas herramientas o bibliotecas que generen archivos adicionales (por ejemplo, cambiar a un nuevo sistema de compilación).
  • Refactorizar o reorganizar directorios, lo que puede dar lugar a nuevos archivos que deben excluirse.
  • Eliminar archivos o directorios obsoletos que ya no forman parte del proyecto.

Solución de problemas de .gitignore

Incluso después de configurar un archivo .gitignore, puedes encontrarte con situaciones en las que se rastrean archivos específicos, o los patrones no parecen funcionar como se esperaba. Esta sección cubrirá dos áreas comunes de solución de problemas y cómo resolverlas.

Seguimiento de archivos ya comprometidos 

El archivo .gitignore no se aplica retroactivamente a los archivos ya confirmados. 

Si añades un patrón a .gitignore después de que ciertos archivos ya hayan sido confirmados, Git seguirá rastreándolos aunque coincidan con el patrón del archivo .gitignore.

Para dejar de rastrear archivos que ya han sido confirmados, sigue estos pasos:

  • Elimina los archivos del seguimiento de Git: Utiliza el comando git rm para eliminarlos del repositorio mientras los mantienes en tu directorio de trabajo.
git rm --cached <file_or_directory_name>
  • Confirma los cambios: Tras eliminar los archivos del seguimiento de Git, confirma los cambios para asegurarte de que los archivos ya no forman parte del historial del control de versiones.
git commit -m "Stop tracking ignored files"
  • Empuja los cambios al repositorio remoto: Por último, empuja los cambios al repositorio remoto para asegurarte de que los archivos dejan de ser rastreados.
git push

Tras realizar estos pasos, Git dejará de rastrear los archivos. El archivo confirmado seguirá estando en tu directorio de trabajo, pero será ignorado por futuras confirmaciones basadas en tus patrones de .gitignore.

Asegúrate de que los patrones funcionan 

A veces, puedes notar que determinados archivos que esperabas que se ignoraran siguen apareciendo en el estado de Git o están siendo rastreados. 

Sigue estos pasos para asegurarte de que tus patrones .gitignore funcionan correctamente:

  • Comprueba el estado de tus archivos: Utiliza el comando git status para ver qué archivos están siendo rastreados por Git. Esto te ayudará a verificar si tus archivos ignorados siguen apareciendo en la lista.
git status
  • Asegúrate de que el patrón es correcto: Comprueba dos veces la sintaxis de tus patrones .gitignore para asegurarte de que están formateados correctamente. Por ejemplo:
    • Asegúrate de que utilizas la ruta de directorio correcta (relativa a la raíz del repositorio).
    • Añade un / para dirigirte a directorios específicos y evitar rastrear todos los archivos con nombres similares.
  • Actualiza la caché: Si has actualizado recientemente tu archivo .gitignore y los cambios no se aplican, puede que Git se esté aferrando a su caché anterior. Para refrescar la caché, ejecuta el siguiente comando:
git rm -r --cached .
git add .
git commit -m "Refresh .gitignore"
  • Comprueba si hay excepciones: A veces, un patrón específico en .gitignore puede ser anulado por un patrón más específico en otra parte del archivo. Revisa tus reglas para asegurarte de que no hay patrones conflictivos.

¿Buscas una referencia Git rápida? Mantén los comandos esenciales al alcance de tu dedoertips with this Git cheat sheet.

Conclusión

Un archivo .gitignore puede parecer pequeño, pero desempeña un papel enorme a la hora de mantener tu repositorio Git limpio y manejable. Al ignorar los archivos innecesarios -como dependencias, artefactos de compilación y archivos generados por el sistema- te aseguras de que tu proyecto permanece organizado y libre de desorden.

En este tutorial, has aprendido a crear un archivo .gitignore, añadir patrones y aplicar las mejores prácticas para mantener la eficiencia de tu repositorio. Con estas habilidades, evitarás los quebraderos de cabeza del control de versiones y harás que la colaboración sea más fluida para todos los miembros de tu equipo.

Si quieres profundizar en tus conocimientos de Git, consulta Fundamentos de Git para seguir una ruta de aprendizaje estructurada. También puedes explorar cursos prácticos como Fundamentos de Git e Introducción a los Conceptos de GitHub para construir una sólida comprensión del control de versiones y los flujos de trabajo de colaboración.

Aprende hoy los fundamentos de Git

Para principiantes: Control de versiones maestro mediante Git.

Preguntas frecuentes

¿El .gitignore elimina los archivos que ya están rastreados por Git?

No, .gitignore sólo impide que se rastreen los archivos nuevos. Si un archivo ya está en el control de versiones, añadirlo a .gitignore no lo eliminará. Para dejar de rastrear un archivo que ya está comprometido, debes utilizar

git rm --cached filename

Después, confirma los cambios.

¿Puedo tener varios archivos .gitignore en un proyecto?

Sí. Puedes colocar los archivos .gitignore en diferentes directorios dentro de tu proyecto. Cada una se aplica sólo a los archivos de su directorio y subdirectorios.

¿Cómo ignoro todos los archivos de un determinado tipo?

Puedes utilizar comodines. Por ejemplo, para ignorar todos los archivos de .log:

*.log

Esto excluirá todos los archivos con la extensión .log.

¿Puedo ignorar un archivo concreto pero seguir rastreándolo para mi propio trabajo?

Sí, pero debes asegurarte manualmente de que no se comprometa. Una forma de hacerlo es utilizar git update-index --assume-unchanged filename, una solución temporal. Un enfoque mejor es utilizar un archivo global .gitignore (consulta la siguiente pregunta).

¿Qué es un archivo .gitignore global y cómo lo configuro?

Un .gitignore global se utiliza para ignorar archivos en todos los repositorios de tu máquina. Esto es útil para archivos específicos del sistema como .DS_Store o Thumbs.db. Para crear y configurar un .gitignore global:

git config --global core.excludesfile ~/.gitignore_global

A continuación, añade patrones a ~/.gitignore_global según sea necesario.

¿Por qué no funciona mi archivo .gitignore?

Si .gitignore no ignora un archivo, comprueba estos problemas comunes:

  • El archivo ya está rastreado: tienes que eliminarlo utilizando git rm --cached filename.
  • El patrón .gitignore puede ser incorrecto; comprueba la sintaxis.
  • Hay una regla conflictiva: Git aplica la última regla coincidente, así que el orden importa.

¿Puedo ignorar un directorio pero mantener un archivo concreto dentro de él?

Sí. Utiliza una regla de exclusión. Por ejemplo, para ignorar todo lo que hay en una carpeta excepto keepme.txt:

folder_name/*
!folder_name/keepme.txt

¿Qué ocurre si dos miembros del equipo tienen archivos .gitignore diferentes?

Si .gitignore está comprometido en el repositorio, todos los miembros del equipo seguirán las mismas reglas. Sin embargo, si una persona modifica .gitignore localmente pero no confirma el cambio, puede tener archivos ignorados diferentes. Es mejor mantener .gitignore versionado y consensuado por el equipo.

¿Cómo puedo comprobar qué archivos se ignoran?

Ejecuta el siguiente comando para ver qué excluye .gitignore:

git status --ignored

O, para una lista más detallada:

git check-ignore -v filename

¿Puedo deshacer el ignorar un archivo en .gitignore?

Sí. Elimina el archivo de .gitignore y vuelve a rastrearlo utilizando:

git add filename

Después, confirma los cambios.


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Temas

Aprende más sobre Git con estos cursos

Certificación disponible

curso

Introducción a Git

2 hr
15.2K
Descubre los fundamentos de Git para el control de versiones en tus proyectos de software y datos.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

blog

¿Qué es la gestión de datos? Guía práctica con ejemplos

Aprende los conceptos y teorías fundamentales de la gestión de datos, junto con algunos ejemplos prácticos. Utiliza estas habilidades en tu trabajo diario de ciencia de datos para generar datos limpios y útiles para tus modelos.
Tim Lu's photo

Tim Lu

12 min

tutorial

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona el control de versiones Git y por qué es crucial para los proyectos de ciencia de datos.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Tutorial de Git Revert y Git Reset para principiantes

Una guía tutorial para principiantes que muestra cómo utilizar los comandos Git Revert y Reset.
Zoumana Keita 's photo

Zoumana Keita

10 min

tutorial

Tutorial de GIT Push y Pull

Aprende a realizar solicitudes de Git PUSH y PULL con GitHub Desktop y la línea de comandos.

Olivia Smith

13 min

tutorial

Git Prune: Qué es la poda Git y cómo usarla

La poda Git es un comando Git que elimina del repositorio los objetos que ya no son accesibles desde ninguna confirmación o rama, ayudando a liberar espacio en disco.
François Aubry's photo

François Aubry

5 min

tutorial

Git rename branch: Cómo cambiar el nombre de una rama local o remota

Aprende a renombrar ramas Git locales y remotas utilizando el terminal o la interfaz gráfica de usuario (GUI) de clientes populares como GitHub.
François Aubry's photo

François Aubry

Ver másVer más