github/gitignore · Rust.gitignore
Plantilla .gitignore de Rust explicada
Explica por qué Rust.gitignore ignora el directorio target, las copias de seguridad de rustfmt, la información de depuración de MSVC y los resultados de cargo-mutants, y el cambio de recomendación para confirmar Cargo.lock.
Rust.gitignore es una plantilla corta con solo las reglas mínimas que necesita un proyecto Cargo. Como casi todos los artefactos se reúnen en target/, tiene pocas reglas.
La plantilla antigua indicaba ignorar Cargo.lock en las bibliotecas, pero la actual ya no tiene esa regla. En 2023 el equipo de Rust cambió su recomendación y estableció como predeterminado confirmar Cargo.lock en todos los proyectos, bibliotecas incluidas.
Explicación regla por regla
| Patrón | Qué ignora y por qué |
|---|---|
targetdebug | Resultados de compilación de CargoEs la carpeta donde cargo build guarda los resultados de compilación, la caché de compilación incremental y las compilaciones de dependencias. Puede crecer hasta varios GB y se regenera por completo. Al no llevar / final, también se ignora un archivo con el mismo nombre. |
**/*.rs.bk | Copias de seguridad de rustfmtSon copias que deja rustfmt antes de modificar un archivo. Como empieza por **/, coincide a cualquier profundidad. |
*.pdb | Información de depuración de MSVCEs la base de datos de símbolos de depuración que se genera al compilar con la cadena de herramientas MSVC de Windows. |
**/mutants.out*/ | Resultados de pruebas de mutaciónSon los directorios de resultados que crea cargo-mutants (mutants.out, mutants.out.old). Por la / final, solo coincide con directorios. |
rustc-ice-*.txt | Volcados de errores internos del compiladorEs la traza de pila que rustc deja en el directorio actual cuando se encuentra con un error interno del compilador (ICE). Sirve para informar del fallo, pero no hace falta en el repositorio. |
Precauciones en la práctica
- Confirma
Cargo.lock. Para tener compilaciones reproducibles y resultados de CI coherentes, la recomendación predeterminada actual de Cargo es confirmarlo también en las bibliotecas. - Con un workspace,
target/se crea una sola vez en la raíz del workspace, pero como la reglatargetno lleva barra, se ignora esté donde esté. - La configuración de RustRover e IntelliJ se trata aparte con la plantilla JetBrains. Los comentarios de la plantilla también indican que no recomiendan ignorar
.idea/por completo.
Plantilla original
Rust.gitignore
# Generated by Cargo# will have compiled files and executablesdebugtarget# These are backup files generated by rustfmt**/*.rs.bk# MSVC Windows builds of rustc generate these, which store debugging information*.pdb# Generated by cargo mutants# Contains mutation testing data**/mutants.out*/# rustc will dump stack traces when hitting an internal compiler error to PWDrustc-ice-*.txt# RustRover# JetBrains specific template is maintained in a separate JetBrains.gitignore that can# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore# and can be added to the global gitignore or merged into this file. For a more nuclear# option (not recommended) you can uncomment the following to ignore the entire idea folder.#.idea/
Origen de las plantillas: github/gitignore/Rust.gitignore @356fd7b (2026-09-11) · CC0-1.0