github/gitignore · C++.gitignore

Penjelasan template .gitignore C++

Menjelaskan mengapa C++.gitignore mengabaikan objek, pustaka, file eksekusi, pohon build CMake, compile_commands.json, dan folder instalasi vcpkg, serta jebakan aturan Makefile.

Buka di generator Buka bersama C, JetBrains, VisualStudioCode, VisualStudio

C++.gitignore menambahkan pohon build CMake, hasil CTest, dan folder instalasi vcpkg mode manifest pada aturan hasil kompilasi yang mirip template C. Karena di repositori template, template Fortran langsung merujuk file ini, aturan file modul Fortran (.mod, .smod) juga ikut ada.

Baris yang paling harus diwaspadai adalah Makefile. Aturan ini dimaksudkan untuk memblokir Makefile yang dibuat CMake, tetapi pada proyek yang di-build dengan Makefile tulisan sendiri, file itu juga ikut diabaikan.

Penjelasan per aturan

PolaApa yang diabaikan dan mengapa
*.o*.obj*.slo*.lo*.d*.gch*.pchObjek dan cache headerHasil kompilasi per unit translasi, file dependensi, dan header yang dikompilasi sebelumnya. Semuanya dibuat ulang dari kode sumber.
*.so*.dylib*.dll*.so.**.a*.lib*.lai*.la*.exe*.out*.appPustaka dan file eksekusiHasil linking. Karena dibuat berbeda untuk setiap platform, didistribusikan lewat rilis, bukan repositori.
build/Build/build-*/CMakeFiles/CMakeCache.txtcmake_install.cmakeinstall_manifest.txtPohon build CMakeCache dan file hasil generate yang dibuat CMake pada tahap konfigurasi. CMakeCache.txt menyimpan path compiler di komputer Anda sehingga tidak berguna bagi orang lain.
MakefileMakefile hasil generateMemblokir Makefile yang dibuat generator Unix Makefiles milik CMake di dalam pohon sumber. Karena tanpa garis miring, Makefile di kedalaman berapa pun diabaikan.
compile_commands.jsonvcpkg_installed/Testing/.cache/Hasil alatBasis data kompilasi yang dibaca clangd dan alat lain, paket yang dipasang vcpkg, hasil CTest, dan cache indeks clangd. Semuanya bergantung pada lingkungan lokal.
*.pdb*.ilk*.dwo*.tmp*.log*.bak*.swpInformasi debug dan file sementaraSimbol debug, file incremental link, serta file sementara dan cadangan editor.
*.mod*.smodModul FortranFile antarmuka modul yang dibuat compiler Fortran. Tidak berpengaruh pada proyek C++ murni.

Hal yang perlu diperhatikan dalam praktik

Template asli

C++.gitignore39 baris aturan
# Prerequisites*.d# Compiled Object files*.slo*.lo*.o*.obj# Precompiled Headers*.gch*.pch# Linker files*.ilk# Debugger Files*.pdb# Compiled Dynamic libraries*.so*.dylib*.dll*.so.*# Fortran module files*.mod*.smod# Compiled Static libraries*.lai*.la*.a*.lib# Executables*.exe*.out*.app# Build directoriesbuild/Build/build-*/# CMake generated filesCMakeFiles/CMakeCache.txtcmake_install.cmakeMakefileinstall_manifest.txtcompile_commands.json# Temporary files*.tmp*.log*.bak*.swp# vcpkgvcpkg_installed/# debug information files*.dwo# test output & cacheTesting/.cache/

Sumber template: github/gitignore/C++.gitignore @356fd7b (2026-09-11) · CC0-1.0

Template yang sering dipakai bersama

Penjelasan template lainnya