当前位置: 首页 > news >正文

.gitignore文件—git忽略文件

  .gitignore文件用来忽略被指定的文件或文件夹的改动,被记录在.gitignore文件里的文件或文件夹,是无法被git跟踪到的,换句话说,被忽略的文件是不会被放入到远程仓库里的。

      如果文件已经存在于远程仓库中,是无法通过.gitignore文件来忽略的。

  .gitignore文件存放于git仓库的根目录下。

       当你使用git add .的时候有没有遇到把你不想提交的文件也添加到了缓存中去?比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化配置文件我们一般不把它推送到git服务器中,但是又为了偷懒每次添加缓存的时候都想用git add .而不是手动一个一个文件添加,该怎么办呢?

      很简单,git为我们提供了一个.gitignore文件只要在这个文件中申明那些文件你不希望添加到git中去,这样当你使用git add .的时候这些文件就会被自动忽略掉。

     还有比如Java编译产生的.class文件等

语法

.gitignore语法:

以”#”号开头表示注释;
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

注:/在文件夹名前,表示根目录下的某个文件夹,/test/表示忽略根目录下的/test/目录的全部内容,而test/表示忽略文件夹test下的全部内容,不管是根目录下的/test/,还是某个子目录下的test文件夹,比如:/child/test,都会被忽略

用法

下面演示下gitignore规则的常用用法

*.txt  ,*.xls  表示过滤某种类型的文件
target/ :表示过滤这个文件夹下的所有文件
/test/a.txt ,/test/b.xls  表示指定过滤某个文件下具体文件
!*.java , !/dir/test/     !开头表示不过滤
*.[ab]    支持通配符:过滤所有以.a或者.b为扩展名的文件
/test  仅仅忽略项目根目录下的 test 文件,不包括 child/test等非根目录的test目录

相关文章:

  • 可视化大屏制作
  • Echarts
  • 做web项目时对代码修改后浏览器端不生效的应对方法
  • WSGI gunicorn
  • 阿里云购买学生机镜像多种选择
  • MySQL Linux配置
  • Python的 __pycache__ 文件夹
  • Vue.js
  • JVM虚拟机
  • MyOS(一):用Java做一个最小的helloworld操作系统内核
  • Windows下Vim
  • 汇编语言
  • SVN服务器端
  • Mavic Mini
  • Chrome浏览器
  • [译] React v16.8: 含有Hooks的版本
  • Android组件 - 收藏集 - 掘金
  • Angular 响应式表单 基础例子
  • Angular数据绑定机制
  • canvas 绘制双线技巧
  • create-react-app项目添加less配置
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript异步流程控制的前世今生
  • mongo索引构建
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • RxJS: 简单入门
  • SpringBoot 实战 (三) | 配置文件详解
  • 如何优雅地使用 Sublime Text
  • 世界上最简单的无等待算法(getAndIncrement)
  • 手写双向链表LinkedList的几个常用功能
  • 微信小程序填坑清单
  • 为视图添加丝滑的水波纹
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 我看到的前端
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 选择阿里云数据库HBase版十大理由
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (4)(4.6) Triducer
  • (C语言)fgets与fputs函数详解
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)hibernate配置管理
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)计算机毕业设计ssm电影分享网站
  • (利用IDEA+Maven)定制属于自己的jar包
  • .bat批处理(二):%0 %1——给批处理脚本传递参数