github/gitignore · C.gitignore

C-.gitignore-Vorlage erklärt

Erklärt, warum C.gitignore Objektdateien, statische und gemeinsam genutzte Bibliotheken, ausführbare Dateien, Debuginformationen und Build-Dateien von Linux-Kernelmodulen ignoriert.

Im Generator öffnen Zusammen mit C++, VisualStudioCode, Linux, Vim öffnen

C.gitignore blockiert anhand der Dateiendung die Zwischendateien und Ergebnisse von Compiler und Linker. Endungen mehrerer Plattformen sind gemeinsam enthalten, damit die Vorlage für gcc, clang und MSVC gleichermaßen taugt.

Dateien von Build-Systemen wie Make oder CMake werden nicht behandelt. Wenn Sie CMake verwenden, ziehen Sie die CMake-Vorlage oder die C++-Vorlage heran, die CMake-Regeln enthält.

Regeln im Einzelnen

MusterWas ignoriert wird und warum
*.o*.obj*.ko*.elf*.dObjekt- und AbhängigkeitsdateienKompilierergebnisse pro Quelldatei (.o, .obj), Kernelmodule (.ko), ELF-Binärdateien und vom Compiler erzeugte Header-Abhängigkeitslisten (.d).
*.gch*.pchVorkompilierte HeaderPrecompiled Header von GCC und MSVC. Sie sind an Compilerversion und -optionen gebunden und in einer anderen Umgebung nicht verwendbar.
*.lib*.a*.la*.lo*.dll*.so*.so.**.dylibBibliothekenStatische Bibliotheken (.a, .lib), libtool-Dateien (.la, .lo) und gemeinsam genutzte Bibliotheken. *.so.* erfasst versionierte Namen wie libfoo.so.1.2.
*.exe*.out*.app*.i*86*.x86_64*.hexAusführbare DateienLinker-Ergebnisse und HEX-Images für Mikrocontroller. Auch a.out wird von *.out erfasst.
*.dSYM/*.su*.idb*.pdb*.dwoDebuginformationenSymbol-Bundles von macOS, Ergebnisse von GCCs -fstack-usage (.su), MSVC-Debugdatenbanken und abgetrenntes DWARF (.dwo).
*.mod**.cmd.tmp_versions/modules.orderModule.symversMkfile.olddkms.confBuild von Linux-KernelmodulenDateien, die das Kernel-Build-System (kbuild) beim Erstellen von Modulen hinterlässt. Wer keine Treiber entwickelt, begegnet ihnen kaum.
*.ilk*.map*.expLinker-NebenprodukteDateien für inkrementelles Linken von MSVC, Linker-Maps und Exportdateien.

Hinweise für die Praxis

Originalvorlage

C.gitignore36 Regeln
# Prerequisites*.d# Object files*.o*.ko*.obj*.elf# Linker output*.ilk*.map*.exp# Precompiled Headers*.gch*.pch# Libraries*.lib*.a*.la*.lo# Shared objects (inc. Windows DLLs)*.dll*.so*.so.**.dylib# Executables*.exe*.out*.app*.i*86*.x86_64*.hex# Debug files*.dSYM/*.su*.idb*.pdb# Kernel Module Compile Results*.mod**.cmd.tmp_versions/modules.orderModule.symversMkfile.olddkms.conf# debug information files*.dwo

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

Häufig kombinierte Vorlagen

Weitere Vorlagenerklärungen