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

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

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

相关推荐
Moment2 小时前
当前端开始做 Agent 后,我才知道 LangGraph 有多重要❗❗❗
前端·后端·面试
竹林8182 小时前
RainbowKit 快速集成多链钱包连接:从“连不上”到丝滑切换的踩坑实录
前端·javascript
小蜜蜂dry2 小时前
nestjs实战-登录、鉴权(一)
前端·后端·nestjs
农夫山泉不太甜2 小时前
WebSocket与SSE技术方案选型对比分析
前端
重阳微噪3 小时前
受够了空格翻页?我写了一个 Chrome 自动滚动插件,让你真正沉浸式阅读
前端
Awu12273 小时前
🍎用 pretext 搞定输入框动态宽度:一个困扰了我三天的 CSS 问题
前端
萑澈3 小时前
我用 Cloudflare 搭了一个 FlashInbox 临时邮箱
前端·next.js
慕斯fuafua3 小时前
CSS——盒模型
前端·css
嗜好ya3 小时前
解决 Vite 项目中 import.meta.env 变量为 undefined 的问题
前端·javascript·vue.js
Mapmost3 小时前
Mapmost专题地图:解锁这场春游“热”
前端