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

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

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

相关推荐
XiaoYu20021 天前
第9章 Three.js载入模型GLTF
前端·javascript·three.js
.又是新的一天.1 天前
【前端Web开发HTML5+CSS3+移动web视频教程】01 html- 标签之文字排版、图片、链接、音视频
前端·css3·html5
神奇的程序员1 天前
开发了一个nginx日志分析面板
前端
阿拉丁的梦1 天前
【C4D实用脚本】清除废点及删除了面的选择tag和材质tag及材质--AI编程
服务器·前端·材质
傅里叶1 天前
Flutter移动端获取相机内参
前端·flutter
哒哒哒5285201 天前
React useMemo 大白话用法文档(含注意项)
前端
xkxnq1 天前
第一阶段:Vue 基础入门(第 10 天)
前端·javascript·vue.js
智商偏低1 天前
abp PermissionDefinitionManager源码解析
开发语言·前端·javascript
RaidenLiu1 天前
Offstage / Visibility:不可见真的就不消耗性能吗
前端·flutter·性能优化
lgliuying1 天前
wangEditor5 富文本编辑器中使用 kityformula 公式编辑器的具体实践
前端·javascript·html