【Git】.gitignore全局配置与忽略匹配规则详解
设置全局配置
1)在C:/Users/用户名/目录下创建.gitignore文件,在里面添加忽略规则。
如何创建 .gitignore 文件?
新建一个.txt文件,重命名(包括后缀.txt)为 .gitignore 即可。
2)将.gitignore设置为全局
在C:\Users\用户名/目录下找到.gitconfig文件,如下图:

- 设置方式一(命令行配置):
在Git中输入配置命令:
git config --global core.excludesfile ~/.gitignore
- 设置方式二(手动配置):
打开.gitconfig,在其中添加以下信息:
[core]excludesfile = C:/Users/用户名/.gitignore
配置成功都可在.gitconfig中看到相应信息:

Git 常用忽略规则匹配语法
在 .gitignore 文件中,每一行的忽略规则的语法如下:
| 语法 | 含义 | 示例 | 解释 |
|---|---|---|---|
| 空格 | 不匹配任意文件,可作为分隔符 | / | / |
#开头 | 注释标识 | / | / |
!开头 | 不忽略(跟踪)匹配到的文件或目录 | !/bin/run.sh | 不忽略 bin 目录下的 run.sh 文件 |
/开始 | 匹配项目根目录 | /bin | 忽略根目录下的bin文件 |
/结束 | 只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件 | bin/ | 忽略当前路径下的bin文件夹, 该文件夹下的所有内容都会被忽略,不忽略bin文件 |
?通配符 | 匹配一个任意字符,但不包括斜杠 | file?.txt | 匹配file1.txt、file2.txt等 |
*通配符 | 匹配多个字符,但不包括斜杠 | *.txt | 匹配所有.txt文件 |
**通配符 | 匹配多个字符,包括斜杠 | logs/**/*.log | 匹配logs目录中任意子目录下的.log文件 |
[abc]模式 | 匹配任何一个括号内的字符 | te[st] | 匹配test或tst |
[^abc]模式 | 匹配不在括号内的任何一个字符 | te[^st] | 匹配ten、ted等,但不匹配test或tst |
{string1,string2,...}模式 | 匹配大括号内指定的任一字符串 | {read,write}[me] | 匹配readme或writeme |
\字符 | 用于转义特殊字符 | \* | 匹配*字符本身,而不是作为通配符 |
- 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录。
- 具体更详细的规则推荐参考 Git & GitHub 官方文档(文末有链接)。
Git 忽略规则优先级
在 .gitingore 文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):
- 从命令行中读取可用的忽略规则
- 当前目录定义的规则
- 父级目录定义的规则,依次地推
- $GIT_DIR/info/exclude 文件中定义的规则
- core.excludesfile中定义的全局规则(即我们定义的全局配置)
因此,设置全局过滤配置文件 .gitignore 后,如果在某个版本库里也设置了.gitignore (局部过滤配置文件),那 git 会优先考虑局部的过滤规则,然后再考虑全局。
.gitignore规则不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
注意:
- git 对于 .gitignore配置文件是按行从上到下进行规则匹配的
- 如果你创建.gitignore文件之前就push了某一文件,那么即使你在.gitignore文件中写入过滤该文件的规则,该规则也不会起作用,git仍然会对该文件进行版本管理。
推荐资料:
- Git—.gitignore文件设置规则及全局配置(常用ignore文件)_gitignore规则-CSDN博客
- Git - gitignore 文档 — Git - gitignore Documentation (git-scm.com)
- 忽略文件 - GitHub 文档
相关文章:
【Git】.gitignore全局配置与忽略匹配规则详解
设置全局配置 1)在C:/Users/用户名/目录下创建.gitignore文件,在里面添加忽略规则。 如何创建 .gitignore 文件? 新建一个.txt文件,重命名(包括后缀.txt)为 .gitignore 即可。 2)将.gitignore设…...
基于 YOLO V10 Fine-Tuning 训练自定义的目标检测模型
一、YOLO V10 在本专栏的前面几篇文章中,我们使用 ultralytics 公司开源发布的 YOLO-V8 模型,分别 Fine-Tuning 实验了 目标检测、关键点检测、分类 任务,实验后发现效果都非常的不错,但它已经不是最强的了。最新的 YOLO-V10 已经…...
Java学习2
1 如果要使用Long类型的变量,在数据值的后面加上L为后缀(可以是大写也可以是小写),例如 Long i9999999L; 2 如果要使用float类型的变量,在数据值的后面加上F为后缀(可以是大写也可以是小写)&a…...
CSS、less、 Sass、
1 CSS 1.1 css中.a.b 与 .a .b(中间有空格)的区别 区别: .a.b是获取同时含有a和b的元素.a .b(中间有空格),是获取.a元素下的所有.b元素<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name=&quo…...
北京大学:利用好不确定性,8B小模型也能超越GPT-4
大模型有一个显著的特点,那就是不确定性——对于特定输入,相同的LLM在不同解码配置下可能生成显著不同的输出。 比如问一问chatgpt“今天开心吗?”,可以得到两种不同的回答。 常用的解码策略有两种,一个是贪婪解码&am…...
哪些云服务商已通过了等保2.0合规性评估?
已通过等保2.0合规性评估的云服务商 根据最新的搜索结果,以下是已通过等保2.0合规性评估的云服务商: 阿里云:阿里云的“电子政务云平台系统”是全国首个通过等保2.0国标测评的云平台,显示了其在云计算领域的安全合规能力。华为云…...
PHP在线加密系统源码
历时半年,它再一次迎来更新[飘过] 刚刚发的那个有点问题,重新修了一下 本次更新内容有点多 1. 更新加密算法(这应该是最后一次更新加密算法了,以后主要更新都在框架功能上面了) 2. 适配php56-php74 3. 取消批量加…...
OpenCV学习笔记 比较基于RANSAC、最小二乘算法的拟合
一、RANSAC算法 https://skydance.blog.csdn.net/article/details/134887458https://skydance.blog.csdn.net/article/details/134887458 二、最小二乘算法 https://skydance.blog.csdn.net/article/details/115413982...
前端JS特效第53集:带声音的烟花模拟绽放特效插件
带声音的烟花模拟绽放特效插件,先来看看效果: 部分核心的代码如下(全部代码在文章末尾): <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Firework Simulator v2&…...
好展位,抢先订!2025浙江(玉环)机械展
2025第18届浙江(玉环)机械工业展览会 时间地点:2025年4月25-28日 玉环会展中心 近年来,随着玉环工业经济的蓬勃发展,汽摩配件、阀门水暖五金产业、铜加工、眼镜配件、金属加工生产等行业,如同贪婪的巨人&…...
Java面试八股之Spring如何解决循环依赖
Spring如何解决循环依赖 在Spring框架中,循环依赖问题通常发生在两个或多个Bean相互依赖的情况下。Spring为了解决循环依赖问题,采用了不同的策略,这些策略主要取决于Bean的作用域以及依赖注入的方式。下面是一些关键点: 单例Be…...
如何为 SQL Server 设置强密码以增强安全性?
为 SQL Server 设置强密码是增强数据库安全性的重要步骤。以下是一些关键步骤和最佳实践: 1. 使用复杂密码 长度:密码应至少为 12 个字符。字符类型:包括大写字母、小写字母、数字和特殊字符(如 !#$%^&*())。避免…...
C语言实现三子棋
通过一段时间的学习,我们已经能够较为熟练地使用分支语句,循环语句,创建函数,创建数组,创建随机数等。之前我们做过一个扫雷游戏,今天让我们再尝试创作一个三子棋游戏吧~ 一、三子棋游戏的思路 三子棋的游…...
昇思25天学习打卡营第XX天|RNN实现情感分类
希望代码能维持开源维护状态hhh,要是再文件整理下就更好了,现在好乱,不能好fork tutorials/application/source_zh_cn/nlp/sentiment_analysis.ipynb MindSpore/docs - Gitee.com...
linux深度学习环境配置(cuda,pytorch)
显卡驱动 首先查看linux服务器是否存在显卡驱动,可以输入以下命令 nvidia-smi如果没有直接显示下面的画面 则进行下面的步骤: ubuntu-drivers devices sudo ubuntu-drivers autoinstall上述步骤的意思是直接在线安装 然后重启linux服务器 reboot发现…...
SpringBoot教程(十九) | SpringBoot集成Slf4j日志门面
SpringBoot教程(十九) | SpringBoot集成Slf4j日志门面 一、概述二、前言三、引入依赖 (不需要额外引入了)四、自定义Logback的配置文件(一般都需配置)情况一:不配置任何关于logback的配置文件情况二:配置关…...
科普文:深入理解ElasticSearch体系结构
概叙 Elasticsearch是什么? Elasticsearch(简称ES)是一个分布式、可扩展、实时的搜索与数据分析引擎。ES不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。 官网地址:…...
极限学习机(ELM)预测模型及其Python和MATLAB实现
### 一、背景 在机器学习和数据挖掘领域,预测模型旨在从过往数据中学习规律,以便对未知数据进行预测。随着数据量的激增和计算能力的提升,各种算法不断涌现。其中,极限学习机(Extreme Learning Machine, ELM࿰…...
基于Python的哔哩哔哩国产动画排行数据分析系统
需要本项目的可以私信博主,提供完整的部署、讲解、文档、代码服务 随着经济社会的快速发展,中国影视产业迎来了蓬勃发展的契机,其中动漫产业发展尤为突出。中国拥有古老而又璀璨的文明,仅仅从中提取一部分就足以催生出大量精彩的…...
Java导出Excel给每一列设置不同样式示例
Excel导出这里不讲,方法很多,原生的POI可以参照 Java原生POI实现的Excel导入导出(简单易懂) 这里只说怎么给Excel每一列设置不同的样式,比如下面这样的 直接上代码 Overridepublic void exportTemplate(HttpServletRe…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...
MLP实战二:MLP 实现图像数字多分类
任务 实战(二):MLP 实现图像多分类 基于 mnist 数据集,建立 mlp 模型,实现 0-9 数字的十分类 task: 1、实现 mnist 数据载入,可视化图形数字; 2、完成数据预处理:图像数据维度转换与…...
