.gitignore 文件语法介绍
.gitignore 文件的作用
A gitignore file specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected; see the NOTES below for details.
.gitignore 文件指定了一组未被跟踪的文件,这些文件应该被 Git 程序忽略(即,git status 时,不再提示这些文件尚未被跟踪)。如果文件已经被 Git 程序跟踪,则这些文件不会受到 .gitignore 的影响。
.gitignore 的文件结构和语法
.gitignore 是一个纯文本文件,文件中的每一行都代表一个匹配模式(pattern)。GIT 从上至下读取文件,后面行的优先级大于前面行。
匹配模式
- 空行:无意义,可以作为分隔行,增加可读性(
readability); #开头: 注释。注意:#必须为行的第一个字符。如果行要以#开头,需要在#之前插入一个\,即,\#;- 行首空格不会被忽略,因为文件名中可以包含空格;
- 行尾空格会被忽略,如果想包含行尾空格,则需要在每个行尾空格之前插入一个
\; !(取反操作): 如果文件被前面的模式排除,但又匹配了!后面的模式,则该文件将再次被包含进来;/(目录分隔符): 目录分隔符可以出现在行首、行中、行尾,- 行首:
/foo - 行中:
foo/bar - 行尾:
foo/,
- 行首:
*通配符: 可以匹配任意长度的任意字符串(字符串中不能包含/);**通配符: 可以匹配任意长度的任意字符串(字符串中可以包含/);?通配符: 可以匹配长度为 1 的任意字符串(字符串中不能包含/);- 范围通配符: 如
[a-zA-Z],可以匹配长度为 1 的只包含英文字母的字符串; - 如果模式匹配了文件夹,也相当于匹配了文件夹的所有文件;
/ 的一些说明
行尾:如果
/出现在行尾,则匹配模式只会匹配文件夹,而不会匹配文件。
比如,foo会匹配所有名称是foo的文件和文件夹,而foo/只会匹配所有名称是foo的文件夹。行首和行中:如果
/出现在行首和行中,则匹配模式会以.gitignore所在的目录为基准,对所有的相对路径进行匹配(相较于之前,只看文件或者文件夹的名称)。
比如/foo, 会匹配foo,但是不会匹配bar/foo。
一些例子
例子一
| 匹配模式 | 说明 |
|---|---|
foo.* |
匹配所有以 foo. 开头的文件,如,foo.c、foo.java 等 |
!foo/bar |
不匹配 foo/bar 文件或者文件夹 |
foo/**/bar |
匹配 foo 文件夹下的中以 bar 开头的文件或者文件夹 |
例子二
文件夹结构
.
├── foo1
│ └── foo2
│ └── a.txt
└── foo2
└── b.txt
.gitignore 文件内容(1)
.*
/foo2
git status 输出结果(1)
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
foo1/
nothing added to commit but untracked files present (use "git add" to track)
.gitignore 文件内容(2)
.*
foo2
git status 输出结果(2)
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)
参考
.gitignore 文件语法介绍的更多相关文章
- Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍
在Studio里使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建.在.gitignore文 ...
- Github使用.gitignore文件忽略不必要上传的文件 (转)
原文地址: https://blog.csdn.net/gjy211/article/details/51607347 常用编程语言及各种框架平台下的通用 .gitignore 文件 http ...
- gitignore文件简单编写规则
一.生成.gitignore文件 1.进入项目根目录,打开终端: 2.输入 vi .gitignore 创建并打开隐藏文件.gitignore: 二 . 设置要忽略上传的文件或文件夹 1.过滤整个文件 ...
- Git忽略提交规则 .gitignore文件
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交.简单来说一个场景:在你使用git add .的时候,遇到 ...
- 关于gitignore文件的创建与使用
在我们使用github提交本地代码时,有些库文件和日志文件是不必要提交的,那如何处理这个问题呢?这个时候我们就会用到.gitignore文件了. 该篇博客我会介绍如何创建.gitignore,以及如何 ...
- Git的.gitignore文件配置
.gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...
- 【转】Application.mk 文件语法规范
原文网址:http://blog.sina.com.cn/s/blog_4c451e0e0100s6q4.html Application.mk file syntax specification A ...
- Android.mk文件语法规范及使用模板
Android.mk文件语法详述 介绍:------------这篇文档是用来描述你的C或C++源文件中Android.mk编译文件的语法的,为了理解她们我们需要您先看完docs/OVERVIEW.h ...
- 如何编写gitignore文件
原文链接:https://www.cnblogs.com/jingtyu/p/6831772.html 为什么要有.gitignore文件 项目中经常会生成一些Git系统不需要追踪(track)的文件 ...
- .gitignore文件的配置和生效
1.配置 a)确保.gitignore文件和.git文件夹在同级目录 b)配置语法 # # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a ...
随机推荐
- SEGGER_RTT_printf()函数添加打印浮点数功能
SEGGER 的实时传输 (RTT) 是一种用于嵌入式应用程序中交互式用户 I/O 的技术.它以非常高的性能结合了 SWO 和半主机的优势.但是在笔者使用时(RTT v758版本),其暂时不支持浮点数 ...
- 【picoCTF】GET aHEADwrite up
打开链接,页面如下: 这道题我试了两种解法,大家都可以看看哦! 一.burpsuit拦截 1.点击bule,打开burpsuit拦截(记得打开intercept哦) 2.将 POST 请求更改为 HE ...
- bootstrapv4轮播图去除两侧阴影及线框
一.前提条件: 在使用bootstrap v4中的轮播图组件时,两侧默认出现阴影,且轮播组件示例不一致! 二.bootstrap文档组件展示与实际应用 1.官方文档展示如下:没有阴影 2.实际应用情 ...
- ZOJ 3735 Josephina and RPG (概率dp)
题意:给你一个n,然后给你C(n,3)个队伍, 给你每个队伍之间的胜率. 接下来给你m个队伍,让你依次跟他们比赛,开始你能选择任意的队伍,如果你打赢了一支队伍,你可以选择换成输给你的这个队伍或者不换, ...
- 基于 Agora SDK 实现 Windows 端的一对一视频通话(基于3.6.2版本)
前提条件 Microsoft Visual Studio 2019 或以上版本 支持 Windows 7 或以上版本的 Windows 设备 有效的 Agora 账户(免费注册) 注:如果你的网络环境 ...
- Python ArcPy批量掩膜、重采样大量遥感影像
本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作. 首先,我们来明确一下本文的具体需求.现有一个存储有大量.tif格式遥感影像的文件夹:且其中除了 ...
- XCode汇编调试
开启Xcode汇编调试 选中Always Show Disassembly项. XCode -> Debug -> Debug Workflow -> Always Show Dis ...
- 改善与提高linux系统的音质
当初装Linux系统的时候,我就发现了,deepin和ubuntu的linux平台音质和Windows平台下的音质不一样.硬件参数没变,歌曲音频文件相同的情况下,linux播放歌曲的时候动态和音乐细节 ...
- Android开发踩坑日记
ViewModelProviders被弃用,改为ViewModelProvider ViewModelProvider使用方法 MyViewModel model = new ViewModelPro ...
- 【ACM算法竞赛日常训练】DAY4题解与分析【树】【子序列】| 组合数学 | 动态规划
DAY4共2题: 树(组合数学) 子序列(dp,数学) 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通俗易懂的方式讲解算法!️欢迎关注我,一起交流C++/Python ...