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 ...
随机推荐
- RHEL/CentOS 7中Nginx的systemd service
源码安装的nginx ,没有systemd service 管理 nginx 下面教程,告诉你如何设置nginx 的systemd service nginx systemd的服务文件是/usr/li ...
- Linux常用命令: zip、unzip 压缩和解压缩命令
zip基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] 常用参数: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源 ...
- Ora-00906:missing left parenthesis
问题描述 Ora-00906:missing left parenthesis 问题原因 varchar和varchar2 必须指定长度,不然会报错
- python 音频可视化
代码整理好放在 github 上了: https://github.com/darkchii/visualize bilibili 演示视频:https://www.bilibili.com/vide ...
- Date/Math/String对象的函数
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- moveTo 与 moveBy的区别 (转贴)
MoveTo和MoveBy可以使精灵移动,区别在于MoveTo是移动到给定的坐标点:而MoveBy是从当前坐标点移动给定的坐标点这么多的距离.举个例子,假定精灵当前的坐标点是(x, y),分别给Mov ...
- 洛谷P1372 又是毕业季I
https://www.luogu.org/problem/P1372 #include<bits/stdc++.h> using namespace std; long long n,k ...
- mysql 1130 Navicat for MySQL 连接MySQL 8.0 出现1130错误
可能是帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑登入MySQL后,更改"MySQL"数据库"user"表里的&q ...
- ubuntu 安装谷歌
下载ubuntugoogle官网:http://www.ubuntuchrome.com/ 我的是ubuntuLTS稳定版: 上传Ubuntu: 执行解压操作: sudo dpkg -i goo ...
- AcWing 906. 区间分组
//1.将所有区间按左端点从小到大排序 //2.从前往后处理每个区间,判断能否将其放到某个现有的组中 //判断某一组的最后一个区间的右端点是否小于该区间的左端点 //如果大于或等于,就开新组,如果小于 ...