Generador de .gitignore: plantillas para cualquier lenguaje e IDE

Combina plantillas de .gitignore para lenguajes, frameworks, editores y sistemas operativos en un solo archivo limpio.

Inicio rápido
Pulsa Intro para añadir la primera coincidencia.
Node.jsmacOSWindowsVisual Studio Code
Lenguaje
Framework
Editor / IDE
Sistema operativo
Herramienta / plataforma
.gitignore
### Node.js ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage
coverage
*.lcov
.nyc_output

# Dependencies
node_modules/
jspm_packages/
bower_components

# Caches
.npm
.eslintcache
.stylelintcache
.cache
.parcel-cache
*.tsbuildinfo
.node_repl_history
*.tgz

# Yarn
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Environment
.env
.env.*
!.env.example

# Build output
dist
build
out

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Custom folder icons (the real file name is "Icon" followed by a carriage return)
Icon?

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

### Visual Studio Code ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix
74 patrones

Los navegadores suelen guardar la descarga de un archivo que empieza por punto como “gitignore.txt”; renómbralo exactamente a .gitignore en la raíz de tu proyecto.

Funciona por completo en tu navegador. Las plantillas vienen incluidas en la página; no se descarga ni se envía nada. Ver todas las herramientas gratis.

¿Encontraste un problema o algo que podría mejorar? Leemos todos los mensajes y lo arreglamos rápido.

Este generador de .gitignore crea un archivo .gitignore a partir de plantillas para los lenguajes, frameworks, editores y sistemas operativos de tu proyecto. Elige Node.js, Python, Unity, JetBrains, macOS o cualquiera de las más de 60 restantes, o empieza con un stack como “App de Next.js”, y las plantillas se combinan en un solo archivo con un encabezado por sección. Los patrones que aparecen en más de una plantilla se escriben una sola vez.

Las plantillas están basadas en la popular colección github/gitignore, sin los bloques de comentarios largos, y vienen incluidas en la página, así que funciona sin conexión y no se envía nada de tu proyecto a ningún sitio. Los duplicados se eliminan con cuidado porque en .gitignore el orden importa: cuando una plantilla vuelve a incluir algo con una regla “!”, los duplicados posteriores se mantienen para no arriesgarse a cambiar lo que se ignora. Un .gitignore solo afecta a los archivos sin seguimiento; consulta las preguntas frecuentes para los archivos que Git ya sigue.

Cómo usarla

  1. Haz clic en un stack de inicio rápido o busca plantillas y marca las que usa tu proyecto: lenguaje, framework, editor y sistema operativo.
  2. Quita las que no necesites con la × de su etiqueta.
  3. Añade reglas específicas del proyecto, como una carpeta uploads/, en “Tus propias reglas”.
  4. Copia el resultado, o descárgalo y guárdalo como .gitignore en la raíz de tu repositorio.
  5. Haz commit: git add .gitignore && git commit -m "Add .gitignore".

Preguntas frecuentes

¿Por qué un archivo sigue con seguimiento después de añadirlo a .gitignore?

Un .gitignore solo impide que se añadan archivos sin seguimiento. Si Git ya sigue el archivo, lo seguirá haciendo. Quítalo del índice sin borrarlo del disco con git rm --cached ruta/al/archivo (o git rm -r --cached carpeta/) y haz commit. Si contenía un secreto, el secreto sigue en tu historial y deberías rotarlo.

¿Debo hacer commit del archivo .gitignore?

Sí. Debe estar en el repositorio para que todos los que clonen el proyecto ignoren las mismas carpetas de compilación y de dependencias. Las reglas que solo te afectan a ti, como los archivos de tu editor, pueden ir en .git/info/exclude para un solo repositorio o en un archivo de exclusión global configurado con git config --global core.excludesFile ~/.gitignore_global.

¿Hay que ignorar package-lock.json o yarn.lock?

No; en las aplicaciones, haz commit del archivo de bloqueo. Registra las versiones exactas de las dependencias que se probaron, para que cada instalación y cada ejecución de CI obtengan el mismo árbol. Lo mismo vale para poetry.lock, Pipfile.lock, Cargo.lock en binarios, Gemfile.lock y composer.lock. Ninguna de las plantillas de esta página los ignora.

¿Qué significan los patrones?

Una barra al final (build/) solo coincide con directorios. Una barra al principio (/build) ancla el patrón al directorio que contiene el .gitignore. * coincide con cualquier cosa excepto una barra, ** abarca varios directorios (logs/**/*.log) y ? coincide con un carácter. Una línea que empieza por ! vuelve a incluir algo que un patrón anterior excluyó, y # inicia un comentario, pero solo al principio de una línea.

¿Por qué no funciona mi regla de negación (!)?

Git no puede volver a incluir un archivo si uno de sus directorios padre está excluido, porque nunca mira dentro de un directorio ignorado. En lugar de ignorar la carpeta (logs/), ignora su contenido (logs/*) y después vuelve a incluir el archivo (!logs/.gitkeep). El orden también importa: la línea con ! tiene que ir después del patrón que anula.

¿Puedo comprobar por qué se ignora un archivo?

Sí: git check-ignore -v ruta/al/archivo muestra el archivo .gitignore, el número de línea y el patrón que coincidió. git status --ignored lista todos los archivos ignorados del directorio de trabajo.

Qué debe ir en un .gitignore

• Dependencias que reinstala un gestor de paquetes: node_modules/, vendor/, .venv/, Pods/.

• Resultados de compilación y cachés: dist/, build/, target/, .next/, __pycache__/, *.class, informes de cobertura.

• Secretos locales y archivos de entorno: .env, *.pem, JSON de credenciales. En su lugar, haz commit de un .env.example con valores de ejemplo.

• Archivos basura del editor y del sistema operativo: .DS_Store, Thumbs.db, .idea/, la mayor parte de .vscode/.

• Logs, volcados de errores y bases de datos locales: *.log, *.sqlite (salvo que la base de datos sea un fixture intencionado).

Mantén en el repositorio: el código fuente, los archivos de bloqueo, la configuración que necesita cada desarrollador y los ajustes compartidos del editor, como .vscode/extensions.json, que la plantilla de VS Code vuelve a incluir a propósito.

Dónde busca Git las reglas de exclusión

Git combina varias fuentes, de mayor a menor prioridad: los patrones indicados en la línea de comandos; los archivos .gitignore del mismo directorio que la ruta y después de cada directorio padre hasta la raíz del repositorio (un .gitignore en un subdirectorio solo se aplica por debajo de él); .git/info/exclude, que es local y nunca se sube; y el archivo global indicado por core.excludesFile, que por defecto es ~/.config/git/ignore. Pon las reglas del sistema operativo y del editor en el archivo global si prefieres que los .gitignore de los proyectos traten solo del proyecto.

Herramientas gratis relacionadas

  • Calculadora chmod — Marca las casillas de lectura, escritura y ejecución para obtener el modo octal y el comando chmod, o descifra 755, 644 y rwxr-xr-x.
  • Docker Run ⇄ Compose — Convierte un comando docker run en un servicio de docker-compose.yml, o un servicio de Compose de vuelta en docker run.
  • Probador de regex — Prueba una expresión regular con un texto de ejemplo, con resaltado de coincidencias en vivo, grupos de captura y vista previa de reemplazo. Gratis, en tu navegador.
  • Formateador JSON — Formatea, minifica y valida JSON, con los errores de análisis localizados por línea y columna. En tu navegador, sin subir nada.