1. 概述
- 开发的过程中, 无法保证项目文件夹下的所有东西, 都是想传到版本库的
- 比如 maven 项目的 target 目录
- 配置好之后, 使用
git add .
命令, 这些文件\目录也不会被 stage
2. 文件位置
- 位置
- 工作目录
文件名
.gitignore
- 注意
- 建议在创建成功之后, 把 .gitignore 文件也添加到 git 仓库中
3. 思路
- 编写文件
- 在 .gitignore 文件里指定规则
- 校验文件
- 执行
git add .
- git 对 untrack 和 changed 文件做匹配
- 如果符合 .gitignore 里的规则, 则不会做 stage 操作
- 执行
4. 语法
1. 注释
- 概述
- 注释不论在什么语言, 都是很重要的
语法
# 井号开头的行, 就是注释 # 如果真有文件是以 # 开头, 可以在前面加 \
2. 普通文件
- 概述
- 最基本的规则
- 配置
- 概述
- 直接输入文件名
- 约定
- 支持通配符
- 以 workspace 为 pwd
- / 开头的路径, 也会从 workspace 开始查找
例子
# 1. 单个文件 Desktop.ini # 2. 目录下的某个文件 build/file/file # 3. 某一类文件 *.map # 4. 某几类文件 *.py[co] # 5. 取反 !Desktop.ini
- 其他
- 取反的配置, 建议尽量不要冲突
- 概述
3. 目录
- 概述
- 单个文件的配置, 效率太低
- 配置
- 概述
- 目录名匹配
- 约定
- /
- 如果过滤项不以 / 结尾, 则会被视为 文件
- 如果要过滤 目录, 建议以 / 结尾
- /
配置
# 1. 过滤目录 target/
- 概述
4. 通配符
- 概述
- 单独讲下 通配符
- 通配符
- 匹配除了 / 之外的任意个字符
- ?
- 匹配除了 / 之外的一个字符
- []
- 匹配 [] 中的一个字符
- **
- **/file
- 匹配项目里每个角落的 file
- dir/**
- 匹配目录下的所有项目
- a/**/b
- 匹配 a 下的 所有 b
- a/b
- a/x/b
- a/x/y/b
- 匹配 a 下的 所有 b
- **/file
4. 检查
- 概述
- 检查 语法 与 忽略文件
命令
> git check-ignore -v <fileToCheck>
ps
来源:https://www.cnblogs.com/xy14/p/11104135.html