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

.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 的规则按文件中的顺序从上到下应用。


http://www.kler.cn/a/589192.html

相关文章:

  • SNX币合规交易突破 XBIT去中心化交易所引领DEX安全新范式
  • Notepad++插件:快捷选择成对括号之间的内容
  • 【SpringMVC】常用注解:@RequestHeader
  • WEB UI自动化测试中,元素定位的八大定位方式详解
  • docker,centos容器开机启动程序
  • 手搓排列型枚举递归搜索树 全排列问题(dfs)
  • 南邮大一统计学想转码,考研还是就业?如何避免就业被卡?转专业难度大吗?是CC++或Java?
  • 深度学习多模态人脸情绪识别:从理论到实践
  • 提升fcp
  • “Ubuntu禁止root用户通过SSH直接登录”问题的解决
  • docker容器导出导入
  • soulip属地怎么不是我当前的位置
  • 【开原宝藏】30天学会CSS - DAY1 第一课
  • 前端缓存接口数据
  • 4、linux c 进程
  • Django系列教程(8)——函数视图及通用类视图
  • 仿“东方甄选”直播商城小程序运营平台
  • STC89C52单片机学习——第20节: [8-2]串口向电脑发送数据电脑通过串口控制LED
  • 防爆手机如何突破“安全与效率“悖论?解析AORO M8的双驱动创新
  • 三格电子Modbus TCP转CANOpen网关相关问答