当前位置: 首页 > news >正文

.gitignore 文件用于 Git 应忽略的文件夹的格式

.gitignore 文件用于指定 Git 应忽略的文件或文件夹的匹配规则。以下是其语法规则和示例说明:


基本格式规则

  1. 每行一个规则:每个忽略规则单独占一行。

  2. 空行和注释

    • 空行会被忽略。

    • 以 # 开头的行是注释(除非用 \# 转义)。

  3. 通配符

    • *:匹配任意字符(除了路径分隔符 /)。

    • **:匹配多级目录(如 a/**/b 匹配 a/ba/x/ba/x/y/b)。

    • ?:匹配单个字符。

  4. 路径分隔符

    • / 开头:仅匹配项目根目录下的文件(如 /build 仅忽略根目录下的 build 文件)。

    • / 结尾:仅匹配目录(如 logs/ 会忽略 logs 目录,但不会忽略名为 logs 的文件)。

  5. 取反规则

    • ! 开头:排除已忽略的文件(优先级高于忽略规则)。


具体示例

1. 忽略所有 .log 文件

*.log

  • 忽略所有路径下的 .log 文件(如 debug.loglogs/error.log)。


2. 忽略 build 目录
build/


总结

规则类型示例作用
忽略文件类型*.log忽略所有 .log 文件
忽略目录build/忽略所有 build 目录
根目录匹配/temp仅忽略根目录的 temp
排除文件!important.txt不忽略 important.txt
多级目录匹配**/bin/忽略所有层级的 bin 目录
  • 忽略所有名为 build 的目录及其内容(如 build/src/build/)。

    3. 忽略根目录下的 temp 文件

    /temp

  • 仅忽略项目根目录下的 temp 文件(如 /temp),但不会忽略 src/temp


  • 4. 忽略所有 .txt 文件,但保留 important.txt

    *.txt         # 忽略所有 .txt 文件
    !important.txt # 排除 important.txt


    5. 忽略 node_modules 目录

    node_modules/

  • 忽略所有层级的 node_modules 目录(如 node_modules/src/node_modules/)。


  • 6. 忽略特定文件类型

    # 忽略所有 .tmp 和 .bak 文件
    *.tmp
    *.bak


    7. 忽略隐藏文件/目录

    # 忽略所有隐藏文件(如 .DS_Store、.env)
    .*
    # 但保留 .gitignore
    !.gitignore


    8. 匹配多级目录

    # 忽略所有 .tmp 和 .bak 文件
    *.tmp
    *.bak


    完整示例文件

  • # 忽略日志文件
    *.log

    # 忽略构建目录
    build/
    dist/
    bin/
    obj/

    # 忽略 IDE 配置文件
    .idea/
    .vscode/

    # 忽略依赖目录
    node_modules/
    vendor/

    # 忽略系统文件
    .DS_Store
    Thumbs.db

    # 排除特定文件(优先级高于忽略规则)
    !src/config/important.config

  • 注意事项

  • 路径分隔符:Windows 中路径使用 /(如 logs/,而非 logs\)。

  • 已跟踪文件:如果文件已被 Git 跟踪,需先执行 git rm --cached <file> 停止跟踪。

  • 全局忽略:可配置全局忽略规则(git config --global core.excludesfile ~/.gitignore_global)。

  • 优先级.gitignore 的规则按文件中的顺序从上到下应用。

相关文章:

  • 详细讲一下 Webpack 主要生命周期钩子流程(重难点)
  • SpringBoot美发门店管理系统开发与设计
  • 网页制作18-Javascipt图像特效の图片闪烁
  • MySQL 横向衍生表(Lateral Derived Tables)
  • element ui设置结束时间为23:59:59
  • VSTO(C#)Excel开发12:多线程的诡异
  • DLMS电能表通讯协议学习笔记
  • 蓝桥杯 第五天 2021 国赛 第 5 题 最小权值
  • Secs/Gem第一讲 · 总结精华版(基于secs4net项目的ChatGpt介绍)
  • 芯谷D6211B:IP摄像头IR滤波器开关驱动的理想选择
  • c++ 中的可变参数模板与折叠表达式
  • 简述下npm,cnpm,yarn和pnpm的区别,以及跟在后面的-g,--save, --save-dev代表着什么
  • 学习网络层
  • python unity通讯数据解析2
  • STAR Decomposition 一种针对极端事件的信号分解方法 论文精读加复现
  • 3.17学习总结
  • 【项目合集】智能语音小车-微信小程序控制
  • WebView2 nuget不能安装到unity项目中
  • 中间件 - 1.nats
  • Matlab GPU加速技术
  • 经济日报:仅退款应平衡各方权益
  • 长三角议事厅| AI作曲时代:长三角如何奏响数字音乐乐章
  • 国际油价重挫!美股道指连跌三月,啥情况?
  • 八成盈利,2024年沪市主板公司实现净利润4.35万亿元
  • 铺就长三角南北“交通动脉”,乍嘉苏改高速扩建项目首桩入位
  • 辽宁辽阳市白塔区一饭店发生火灾,当地已启动应急响应机制