如何创建 .gitignore 文件

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

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

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

创建

touch .gitignore        # Linux/macOS
if not exist .gitignore 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(先下载为独立文件,检查后再合并进现有 .gitignore,不要直接重定向覆盖);
  • IDE 插件(VS Code 的 gitignore 插件右键生成)。

验证规则

git check-ignore -v some-file.log    # 显示匹配规则;! 否定规则表示重新包含,不代表被忽略
git status --ignored                 # 总览被忽略的文件

check-ignore 默认不报告已跟踪文件;诊断规则本身时可用 --no-index,但不会改变跟踪状态。

常见问题(FAQ)

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

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

Q:.gitignore 本身要提交吗?

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

Q:规则优先级怎么算?

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

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

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

立即开始

选择观测云版本

代码托管平台