如何创建 .gitignore 文件

在仓库根目录创建名为 .gitignore 的文本文件,每行一条忽略规则(支持 通配、目录/ 结尾、! 取反、# 注释),保存即生效。最快的方式是用 gitignore.io 或 GitHub 模板生成对应技术栈的规则。

最佳实践
Git 分支协作与合并示意

在仓库根目录新建一个名为 .gitignore 的纯文本文件,每行写一条忽略规则,保存后立即生效(对未跟踪文件)。Windows 资源管理器不让建点开头的文件名时,用命令行 touch .gitignore 或编辑器另存为。

创建

touch .gitignore        # Linux/macOS
type nul > .gitignore   # Windows cmd

语法速查

# 注释用井号
*.log              # 所有 .log 文件
build/             # build 目录(任意层级)
/target            # 只匹配根目录的 target
doc/*.txt          # doc 下直接子级 txt
doc/**/*.pdf       # doc 下所有层级的 pdf
!important.log     # 取反:这个不忽略
temp?              # ? 匹配单个字符

更快的方式:用模板

  • GitHub 建仓库时选技术栈自动生成;
  • gitignore.io(curl "https://www.toptal.com/developers/gitignore/api/python,visualstudiocode" > .gitignore);
  • IDE 插件(VS Code 的 gitignore 插件右键生成)。

验证规则

git check-ignore -v some-file.log    # 显示命中了哪条规则
git status --ignored                 # 总览被忽略的文件

常见问题(FAQ)

Q:加了规则但文件还出现在 git status 里?

该文件已被跟踪。git rm --cached <文件> 移出索引后规则才生效。

Q:.gitignore 本身要提交吗?

要。它属于项目的共享约定,进版本库让全队生效。个人专属的忽略规则放 .git/info/exclude。

Q:规则优先级怎么算?

同一文件后面的规则覆盖前面的;子目录的 .gitignore 覆盖父目录的;! 取反是最后的例外手段(但父目录被整体排除时取反无效)。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台