.gitignore 忽略文件和目录
- 1. .gitignore 简介
- 2. .gitignore 注释
- 3. / 开头或结尾的忽略
- 4. glob 模式匹配忽略
- 5. .gitignore 全局忽略
- 6. 忽略已提交到远程仓库的内容
- 7. 使用各种框架下的忽略规则
1. .gitignore 简介
.gitignore 文件的作用就是告诉 git 哪些文件不需要添加到版本管理中(定义忽略提交的文件)
.gitignore 文件用来忽略被指定的文件或文件夹的改动,被记录在.gitignore文件里的文件或文件夹,是无法被 git 跟踪到的,换句话说,被忽略的文件是不会被放入到远程仓库里的。
也就是说,如果文件已经存在于远程仓库中,是无法通过 .gitignore 文件来忽略的
2. .gitignore 注释
所有空行或者以注释符号 # 开头的行都会被 git 忽略
以井号(#)开头的行是注释,将被忽略,空行可用于提高文件的可读性并对相关的模式行进行分组
# 忽略编辑器配置目录
/.idea
/.vscode
3. / 开头或结尾的忽略
之前在某篇文章中看到这句话: 以斜杠 /
开头表示忽略的是目录
后来发现并不是这样的,它真正的作用是只忽略同级的内容,而不忽略下级目录中的内容
结论: / 位于头部的作用是只忽略当前目录下的内容;放在尾部的作用是只忽略目录,而不忽略文件
头尾都没有 /
# 忽略当前目录及下级目录中所有的 runtime
# runtime 文件或目录都会被忽略
runtime
前面有 /
# 只忽略当前目录中的 runtime 文件或目录
# 不忽略下级目录中的 runtime 文件或目录
/runtime
后面有 /
# 只忽略当前目录和下级目录中的 runtime 目录
# 不忽略当前目录和下级目录中的 runtime 文件
runtime/
头尾都有 /
# 只忽略当前目录中的 runtime 目录
/runtime/
4. glob 模式匹配忽略
在 .gitignore 文件中可以使用标准的 glob 模式匹配
以星号 *
通配多个字符
# 忽略 vendor 目录下的所有文件
/vendor/*
# 忽略所有后缀名为 txt 的文件
*.txt
以问号 ?
通配单个字符
# 忽略文件名称为一个字符, 后缀名为 php 的文件
?.php
以方括号 []
包含单个字符的匹配列表
# 忽略 125.php、135.php文件
1[23]5.php
以叹号 !
表示不忽略(跟踪)匹配到的文件或目录
【注意项】注意写法 要忽略的文件夹一定要结尾 /*
,否则不忽略规则将无法生效
# 忽略vendor目录下的所有文件
/vendor/*
# 不忽略vendor目录下的 1.php
# 在已忽略的文件夹中不忽略指定文件
!/vendor/1.php
# 不忽略vendor目录下 dev目录
# 在已忽略的文件夹中不忽略指定文件夹
!/vendor/dev
5. .gitignore 全局忽略
git 允许创建全局 .gitignore 文件,所有本地 git 仓库都将遵守全局的忽略规则。
该文件的名称和位置没有要求,只要在 git 配置文件中路径指定正确即可。
例如,将 ~/.gitignore_global
设置为全局 git 忽略文件,可以执行以下操作:
# 创建文件
touch ~/.gitignore_global
# 将文件添加到 git 配置
git config --global core.excludesfile ~/.gitignore_global
6. 忽略已提交到远程仓库的内容
删除暂存区中的文件或目录
git rm --cached <file>
git rm -r --cached <folder>
在 .gitignore 中添加忽略配置
<file>
/<folder>
推送到远程仓库
git add .gitignore
git commit -m '忽略文件'
git push origin master
7. 使用各种框架下的忽略规则
忽略编辑器配置文件
.idea
.vscode
.hbuilderx
忽略特殊文件
.DS_Store 文件一般出现在 MacOS 中,是 Finder 用来存储文件夹的显示属性的,比如: 文件图标的摆放位置
.DS_Store
ThinkPHP 5.0
/runtime
/vendor
/thinkphp
Uni-App 项目
unpackage
相关文章
- phpstorm 批量替换目录里面文件代码
- PHP导出数据到CSV文件函数/方法
- 怎样用core文件调试你的linux程序?
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
- Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
- python导入csv文件出现SyntaxError问题分析
- 04_文件和目录(理解)
- Python文件处理
- 获取文件夹下的子文件夹及文件的名称
- linux 用journalctl --vacuum-size=10M命令清理/var/log/journal目录下的日志文件
- Atitit java解析yml文件 以及使用 spel ognl 读取 v4 u77.docx Atitit java解析yml文件 目录 1.1. Springboot use snak
- Atitit io读取文件法 目录 1. 文件法1 1.1. 异步读取文件:1 1.2. 2.同步读取方法1 1.3. 二进制读文件:1 2. 读取api规范1 3. Atitit 按照
- Atitit 文件存储标准化api 总结 目录 1. 操作系统,进行操作1 1.1. FileUtils类的应用1 1.2. 各大api 比较2 2. Java。Io用apache的commo
- Atittit HDFS hadoop 大数据文件系统java使用总结 目录 1. 操作系统,进行操作1 2. Hdfs 类似nfs ftp远程分布式文件服务2 3. 启动hdfs服务start
- 如何正确地把服务器端返回的文件二进制流写入到本地保存成文件
- 天龙八部TLBB系列 - 网单服务端Public/Config目录文件说明
- 成功解决frozen importlib._bootstrap“, line 2 in _call_with_frames_removed ImportError: DLL lo(.dll文件简介)
- 第22篇 基础 (二十二)手把手教学 Qt 操作 ini 文件(详解)
- wc命令统计文件数据数量信息
- 终端和控制台 串口 console tty pty /dev目录下终端文件 pts/ptmx 伪终端 控制终端 虚拟终端
- 【Android 逆向】修改 Android 系统文件 ( 重新挂载文件分区 | 在 /system/lib/ 只读目录下创建文件 | 修改 Android 系统文件的意义 )
- 文件切割
- 扫描目录下的所有文件
- Pytest----临时目录和文件的使用方法
- 如何将Python的上级目录的文件导入?【from.import】
- 【Python问题解决】---- ERROR: Could not install packages due to an OSError: [WinError 2] 系统找不到指定的文件。
- Istio服务网格进阶④:Istio服务网格核心资源YAML编排文件配置清单
- 文件及目录实际案例