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

devtools/2025/3/15 22:43:04/

.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.ppmy.cn/devtools/167386.html

相关文章

[介绍与总结]前端笔试面试策略

笔试 专业类笔试是对前端相关专业知识的考核,一般分为选择题、问答题、编程题三种题型。 选择题:(未刷) 通常是10-20单选,0~10个多选题。其覆盖的知识范围非常广泛,且比较琐碎,除了 HTML、CSS、JS、ES6新特性相关知识是高频考点以外,数据结构、操作系统相关的也是常…

从零开始学机器学习——初探分类器

首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns 在上一节中,我们已经完成了对所有经过均衡和清洗的菜品数据的准备工作。接下来,我们将考虑使用多种算法,也就是不同的分类器,来构建模型。我们将利用这个数据集和各种分类器,基于一组特定的配料,预…

C/C++蓝桥杯算法真题打卡(Day4)

一、P11041 [蓝桥杯 2024 省 Java B] 报数游戏 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;// 计算第 n 个满足条件的数 long long findNthNumber(long long n) {long long low 1, high 1e18; // 二分查找范围while (low < high) {lo…

Windows远程桌面黑屏怎么办?

在使用Windows远程桌面连接另一台电脑时&#xff0c;用户经常会遇到Windows远程桌面黑屏的问题。那么&#xff0c;该如何有效地解决Windows远程桌面黑屏的问题呢&#xff1f;遇到远程桌面连接黑屏的问题时&#xff0c;可以通过在本地组策略编辑器中禁用WDDM图形显示驱动来解决。…

MyBatis 如何解析 XML 配置文件和 SQL 映射文件

MyBatis 使用 SAX&#xff08;Simple API for XML&#xff09;解析器来解析 XML 文件&#xff0c;SAX 是一种基于事件驱动的 XML 解析方式&#xff0c;具有高效、低内存消耗的优点。 MyBatis 主要解析两种类型的 XML 文件&#xff1a; 核心配置文件 (mybatis-config.xml): 定…

什么是 Spring IoC 容器?

Spring的IOC容器&#xff0c;全称Inversion of Control&#xff08;控制反转&#xff09;容器&#xff0c;是Spring框架的核心组件之一。以下是关于Spring IOC容器的详细解释&#xff1a; 一、基本概念 控制反转&#xff08;IoC&#xff09;&#xff1a; 是一种软件设计原则&a…

使用DeepSeek+蓝耘快速设计网页简易版《我的世界》小游戏

前言&#xff1a;如今&#xff0c;借助先进的人工智能模型与便捷的云平台&#xff0c;即便是新手开发者&#xff0c;也能开启创意游戏的设计之旅。DeepSeek 作为前沿的人工智能模型&#xff0c;具备强大的功能与潜力&#xff0c;而蓝耘智算云平台则为其提供了稳定高效的运行环境…

HTML 列表:构建清晰结构的网页内容

引言 在网页开发过程中&#xff0c;将信息有条理地呈现给用户至关重要。HTML 列表作为一种强大的工具&#xff0c;能够使内容更加结构化和易于阅读。HTML 提供了有序列表、无序列表和自定义列表三种类型&#xff0c;满足不同场景下的内容展示需求。本文将深入探讨这三种列表的…