github/gitignore · Rust.gitignore
Penjelasan template .gitignore Rust
Menjelaskan mengapa Rust.gitignore mengabaikan direktori target, cadangan rustfmt, informasi debug MSVC, dan hasil cargo-mutants, serta perubahan rekomendasi untuk meng-commit Cargo.lock.
Rust.gitignore adalah template pendek yang hanya berisi aturan minimum yang dibutuhkan proyek Cargo. Karena sebagian besar hasil terkumpul di satu target/, jumlah aturannya sedikit.
Template lama menyarankan untuk mengabaikan Cargo.lock pada pustaka, tetapi template saat ini tidak memiliki aturan itu. Pada 2023 tim Rust mengubah rekomendasinya sehingga commit Cargo.lock menjadi default untuk semua proyek, termasuk pustaka.
Penjelasan per aturan
| Pola | Apa yang diabaikan dan mengapa |
|---|---|
targetdebug | Hasil build CargoFolder tempat cargo build menaruh hasil kompilasi, cache build inkremental, dan hasil build dependensi. Ukurannya bisa mencapai beberapa GB dan sepenuhnya dapat dibuat ulang. Karena tidak ada / di akhir, file dengan nama yang sama juga diabaikan. |
**/*.rs.bk | Cadangan rustfmtCadangan yang ditinggalkan rustfmt sebelum mengubah file. Diawali **/ sehingga cocok di kedalaman berapa pun. |
*.pdb | Informasi debug MSVCBasis data simbol debug yang muncul saat build dengan toolchain Windows MSVC. |
**/mutants.out*/ | Hasil mutation testingDirektori hasil yang dibuat cargo-mutants (mutants.out, mutants.out.old). Karena ada / di akhir, hanya cocok dengan direktori. |
rustc-ice-*.txt | Dump galat internal compilerStack trace yang ditinggalkan rustc di direktori saat ini ketika mengalami galat internal compiler (ICE). Berguna untuk laporan bug, tetapi tidak diperlukan di repositori. |
Hal yang perlu diperhatikan dalam praktik
- Commit
Cargo.lock. Demi build yang dapat direproduksi dan konsistensi hasil CI, rekomendasi default Cargo saat ini adalah meng-commit-nya juga untuk pustaka. - Jika memakai workspace,
target/hanya dibuat satu di root workspace, tetapi karena aturantargettanpa garis miring, di mana pun ia muncul tetap diabaikan. - Pengaturan RustRover dan IntelliJ ditangani terpisah dengan template JetBrains. Komentar template juga menyebut bahwa mengabaikan seluruh
.idea/tidak disarankan.
Template asli
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/
Sumber template: github/gitignore/Rust.gitignore @356fd7b (2026-09-11) · CC0-1.0