C 的 .gitignore
适用于 C 的 36 条忽略规则,可直接复制到您的仓库。
C 编程语言
C 的完整 .gitignore
# 由 LFGitignore - https://lfgitignore.com 生成
# 创建:2026-10-31 22:59:26 UTC
# 技术:C
### C ###
*.d
# 目标文件
*.o
*.ko
# 目标文件
*.obj
*.elf
*.gch
*.ilk
*.map
*.pch
*.exp
# 库文件
*.lib
# 静态库
*.a
*.la
*.lo
# 动态链接库
*.dll
# 共享对象
*.so
# 版本化共享对象
*.so.*
# macOS动态库
*.dylib
# Windows 可执行文件
*.exe
# 编译器输出
*.out
# 应用程序包
*.app
# 32 位 x86 二进制
*.i*86
# 64 位 x86 二进制
*.x86_64
# 十六进制转储文件
*.hex
# macOS 调试符号
*.dSYM/
# 堆栈使用文件
*.su
# 中间调试文件
*.idb
# 程序调试数据库
*.pdb
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf
*.dwo
这些 C 规则实际上忽略了什么
以下列出了每个忽略模式及其加入 .gitignore 的原因。
先决条件
| 模式 | 忽略的内容 |
|---|---|
*.d |
先决条件 |
目标文件
| 模式 | 忽略的内容 |
|---|---|
*.o |
目标文件 |
*.ko |
目标文件 |
*.obj |
目标文件 |
*.elf |
目标文件 |
预编译头文件
| 模式 | 忽略的内容 |
|---|---|
*.gch |
预编译头文件 |
*.pch |
预编译头文件 |
链接器输出
| 模式 | 忽略的内容 |
|---|---|
*.ilk |
链接器输出 |
*.map |
链接器输出 |
*.exp |
链接器输出 |
库
| 模式 | 忽略的内容 |
|---|---|
*.lib |
库文件 |
*.a |
静态库 |
*.la |
库 |
*.lo |
库 |
共享对象(包括 Windows DLL)
| 模式 | 忽略的内容 |
|---|---|
*.dll |
动态链接库 |
*.so |
共享对象 |
*.so.* |
版本化共享对象 |
*.dylib |
macOS动态库 |
可执行文件
| 模式 | 忽略的内容 |
|---|---|
*.exe |
Windows 可执行文件 |
*.out |
编译器输出 |
*.app |
应用程序包 |
*.i*86 |
32 位 x86 二进制 |
*.x86_64 |
64 位 x86 二进制 |
*.hex |
十六进制转储文件 |
调试文件
| 模式 | 忽略的内容 |
|---|---|
*.dSYM/ |
macOS 调试符号 |
*.su |
堆栈使用文件 |
*.idb |
中间调试文件 |
*.pdb |
程序调试数据库 |
内核模块编译结果
| 模式 | 忽略的内容 |
|---|---|
*.mod* |
内核模块编译结果 |
*.cmd |
内核模块编译结果 |
.tmp_versions/ |
内核模块编译结果 |
modules.order |
内核模块编译结果 |
Module.symvers |
内核模块编译结果 |
Mkfile.old |
内核模块编译结果 |
dkms.conf |
内核模块编译结果 |
*.dwo |
调试信息文件 |
如何将此 .gitignore 用于 C
- 复制上面的C规则,或者直接下载文件。
- 在 Git 仓库根目录创建名为 .gitignore 的文件,并将规则粘贴进去。
- 如果其中一些文件已被跟踪,请运行 git rm -r --cached . 然后再次提交 - Git 仅将忽略规则应用于未跟踪的文件。
- 提交 .gitignore 以便团队中的每个人都共享相同的规则。