gitignore匹配规则你必须要会使用

gitignore匹配规则你必须要会使用

目录:

复制代码
一、概述

  1.书写规则
  
二、匹配规则

  1.直接写名称
  
  2.带斜杠
  
  3.*
  
  4.?
  
  5.!

字数:大约800字

一、概述

.gitignore 是一个用于指定哪些文件或目录应该被 Git 忽略的规则文件。当我们指定之后,就不会提交内容到仓库内啦!我们来看看它的匹配规则

1.书写规则

每一个匹配规则占据一行。 不能多个匹配占据一行。

二、匹配规则

1.直接写名称

复制代码
dist

当直接写匹配的名称时,它会匹配当前.gitignore所在项目、文件夹下所有的dist文件夹或文件 可以发现,不管是文件还是文件夹都会被匹配,而且不只是第一层文件夹,文件夹下的文件夹/文件都可以匹配到。

2.带斜杠

1.斜杠在前面

这个时候,它就会去匹配从.gitignore文件所在的位置出发,去找紧挨着目录层级的文件/文件夹 所以上面图中只会匹配到一个。如果我把.gitignore位置移动,再来看看,它就是这样了。

2.斜杠在中间

bash 复制代码
src/dist

同样的,它还是会从当前.gitignore所在位置开始去匹配。

3.斜杠在后面

复制代码
dist/

当斜杠在后面的时候,其实和上面直接写名称没有什么太大区别,主要是斜杠在后面表示匹配文件夹,而不带斜杠时候,是匹配文件夹/文件。

3.*

*号匹配的是任意字符,但是斜杠/除外。例如: 这个时候,它匹配的是所有的jpg文件。但是如果我加上斜杠。

复制代码
dist/*.jpg

会发现,都没有匹配到,为什么,因为dist下面的jpg图片不存在,可能你看见dist下面有个2.jpg,但是它的完整路径是dist/imgs/2.jpg。所以无法匹配。

如果我就是要匹配,那我怎么办呢?

arduino 复制代码
dist/**/*.jpg

这样就可以了,为啥,之前我们说过,* *表示匹配所有文件/文件夹。这里就是匹配,dist下面所有的文件夹/文件。

4.?

?号表示匹配的是字符。就拿刚才那个来看。

arduino 复制代码
dist/**/?.jpg

会发现,33.jpg没有被匹配上,为什么,因为33是两个字符,你如果要匹配两个,那就来两个??。 不过这样之后,一个字符的就无法匹配啦。

5.!

当我们有个文件夹里面,基本上所有的文件都要让它被忽略时候。只有某个文件需要提交时候。例如 这里我把a文件夹下所有的都忽略啦,但是a文件夹下面的文件夹除啦config.js我需要提交。那怎么办呢

css 复制代码
src/**/*.*
!src/**/config.js

这个时候!就用到了,就是用来排除的,也就是非的意思。

到这里,基本上常用的就是这些啦。🎉🎉🎉🍺🍺🍺👍👍👍

相关推荐
weixin_4629019711 分钟前
网页 HTML ↔ ESP32 完整通信体系详解
前端·html
禅思院12 分钟前
Agent记忆管理,是一场工程上的平衡艺术
前端·架构·ai编程
crary,记忆22 分钟前
React Hook 浅学 2.0 - 自定义Hook
前端·react.js·前端框架
触底反弹23 分钟前
🔥 React 零基础入门(下):Props + State + useEffect 生命周期深度解析
前端·react.js·面试
咖啡星人k27 分钟前
GitHub Copilot 加入 Agent 浏览器:验证 Web 应用进入编码闭环
前端·人工智能·github·copilot·前端开发·ai agent
Shadow(⊙o⊙)31 分钟前
高并发内存池:Part-1——定长内存池
java·前端·javascript
GuWenyue31 分钟前
90%Node新手踩坑!path+fs两大内置模块完整实战,3种异步写法彻底告别回调地狱
前端
国服第二切图仔40 分钟前
17-config命令 - 配置管理系统
java·前端·javascript
GuWenyue1 小时前
放弃云端API!5套技术栈实战WebGPU端侧AI,前端独立跑本地大模型,省成本还保隐私
前端·数据库·人工智能
胡萝卜术9 小时前
当大模型遇上浏览器:用 React + WebGPU 在前端跑通 DeepSeek-R1 的实战笔记
前端·javascript·面试