Git - 07. gitignore
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
4. 检查
概述
- 检查 语法 与 忽略文件
命令
> git check-ignore -v <fileToCheck>
ps
Git - 07. gitignore的更多相关文章
- Git 提交 .gitignore文件
问题描述 不知道小伙伴有木有遇到这种情况:想在工程里增加 .gitignore 文件,用于在以后提交后,过滤哪些文件或者目录. 但是,在当前工程的根目录下,执行如下执行命令后,依然不能把 .gitig ...
- Git中.gitignore文件不起作用
Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍 在Studio里使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录 ...
- git 创建.gitignore忽略不必要的文件
问题: 创建java项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本. 例如maven创建好后,实际开发中我们只需提交:src,.gitignore,pom.xml等文件 但是有 ...
- Git:.gitignore和.gitkeep文件的使用 让空文件夹被跟踪
Git:.gitignore和.gitkeep文件的使用 Git:.gitignore和.gitkeep文件的使用 https://majing.io/posts/10000001781172 .gi ...
- git中 gitignore 忽略文件操作
通常,.gitignore文件被放置在存储库的根目录中.根目录也称为父目录和当前工作目录.根文件夹包含组成项目的所有文件和其他文件夹.也就是说,您可以将它放在存储库中的任何文件夹中.你甚至可以有多个. ...
- Git忽略.gitignore规则不生效的解决办法
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件). 这个文件每一行保存了一个匹配的规则例如: # 此为 ...
- Git的.gitignore文件配置
.gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...
- git用.gitignore忽略指定文件
.gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些心得. 1.配置语法: 以斜杠“/”开头 ...
- Git和.gitignore
http://blog.csdn.net/cscmaker/article/details/8553980 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .giti ...
随机推荐
- Wannafly Camp 2020 Day 6F 图与三角形 - 图论
把黑边视为无边,那么答案之和每个点的度数有关 #include <bits/stdc++.h> using namespace std; #define int long long int ...
- eclipse unable to start within 45 seconds
在eclipse4.8.2中运行tomcat8.5项目时,提示出错: Server Tomcat v8.0 Server at localhost was unable to start within ...
- linux 安装java jdk
1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1.8.0_102" O ...
- Windows ThinPC 7 部署后续设置与本地化
还原注销背景 %system32%\oobe\info\backgrounds 删除该目录下所有文件后变为wes7背景 24时制与非UNICODE字符乱码解决 Control Panel \ Regi ...
- Mysql部分存储引擎介绍
Mysql存储引擎 什么是存储引擎 mysql中建立的库 --> 文件夹 库中建立的表 --> 文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制: ...
- api接口出现Provisional headers are shown,
问题分析:根据反馈可以知道,发起请求,但服务器未及时响应,原因可能是超时,或者被拦截
- 09 部署nginx web服务器(转发uwsgi请求)
1 配置nginx转发 $ whereis nginx $ cd /usr/local/nginx/conf $ vi nginx.conf 注释掉原来的html请求,增加uwsgi请求. locat ...
- MySQL | linux中数据库导出和导入
一.数据库导出(深坑) 命令:mysqldump -u用户名 -p密码 要导出的数据库 > 导出之后的文件.sql mysqldump -uroot -p database_01 > da ...
- 题解【Codeforces859C】Pie Rules
题面 一道需要一定思考的 \(\text{DP}\) . 设 \(dp_i\) 表示第 \(i\) 步走的人能得到的最大分数, \(sum_i\) 表示 \(\sum_{j=i}^n a_j\) ,即 ...
- 题解【洛谷P1618】 三连击(升级版)
设三个数分别为n1.n2.n3,因为三个数的比为A:B:C,取一份量i,使得A·i=x,B·i=y,C·i=z(·是*的意思). 所以我们的代码只需要枚举i,并以此判断n1.n2.n3是否为三位数且包 ...