在项目中我们有一些文件是不能公开的,或者说是每个人需要单独配置的,那么这个时候使用 git 就不能上传这些文件。此时就需要对 .gitignore 文件进行配置。

git 的忽略原则:参考 廖雪峰的git忽略特殊文件

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件;

一些忽略规则的写法:

  1、所有 空行 或者以注释符号 # 开头的行都会被 Git 忽略。

  2、可以使用标准的 glob 模式匹配。

  3、匹配模式最后跟反斜杠 / 说明要忽略的是目录。

  4、要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号 !取反。

glob 模式:指 shell 所使用的简化了的正则表达式。

  星号 * 匹配零个或者多个任意字符;

  问好 ?只匹配一个任意字符;

  [abc] 匹配任何一个列在方括号中的字符;

  如果方括号中使用短线分隔两个字符,则表示两个字符范围内的都可以匹配,如 [0-9] 表示匹配所有 0 到 9 的数字。

  更多 glob模式

例如:

  .DS_Store     表示忽略所有的 .DS_Store 文件

  *.text       表示忽略所有的 text 文件

  !test.text       但 test.text 文件除外

  /TEST       仅仅忽略根目录下的 TEST 文件,不包括 pages/TEST

  unpackage/     忽略 unpackage/ 目录下的所有文件

  pages/*.text     忽略 pages/note.text 但是不包括 pages/xitong/test.text

有时候 .gitignore 文件是在项目提交了几次之后配置的,而此时会发现有些文件 并不能 被 ignore 。这是因为 .gitignore 文件只能忽略那些没有被 track 的文件,如果这些文件已经加入了版本管理中,则修改之后,.gitignore 是无效的。

解决方案:

  先把本地的删除,再重新添加。

  例如:

  git rm -r --cached .      // 这是删除所有, 或者 . 可以换成具体的文件名也就是你要忽略的文件名

  git add .            // 重新添加,此时生效

  git  commit -m "xxxx"       //

  git push

git中ignore文件配置的更多相关文章

  1. git中 .ignore文件的配置 忽略不想上传的文件

    1.配置语法: 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录: 此外,g ...

  2. 比较全git的.ignore文件配置

    # maven,gradle ignoretarget/_build/build/_site/.gradle*dependency-reduced-pom.xmltest.* # eclipse ig ...

  3. Git中的文件状态和使用

    (暂存区 即Index In Git) commit 到 local respository的内容,不想push,则使用git reset 将文件状态回转到staged|modified|unstag ...

  4. Git中的文件状态和使用问题解决

    (暂存区 即Index In Git) commit 到 local respository的内容,不想push,则使用git reset 将文件状态回转到staged|modified|unstag ...

  5. 『现学现忘』Git基础 — 20、Git中忽略文件补充

    目录 1.忽略文件常遇到的问题 2.忽略文件配置优先级 3.忽略已跟踪文件的改动(本机使用) 4.autocrlf和safecrlf参数说明 (1)提出问题 (2)autocrlf说明 (3)safe ...

  6. Git中.gitignore文件不起作用

    Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍   在Studio里使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录 ...

  7. Git 中 .gitignore 的配置语法

    一.前言 在日常的开发中,当我们需要将一个项目提交到 Git 时,并不是所有的文件都需要提交,比如一些自动生成的文件,类似于 .idea 文件.class 文件等,这时候就可以使用.gitignore ...

  8. Git的.gitignore文件配置

    .gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...

  9. git中忽略文件权限或文件拥有者的改变

    在发布项目到线上时,很多时候需要修改文件的权限,如果是使用git版本管理软件来发布的话,那么下次更新线上文件的时候就会提示文件冲突.明明文件没有修改,为什么会冲突呢?原来git把文件权限也算作文件差异 ...

随机推荐

  1. 集合类源码(七)Map(ConcurrentHashMap, ConcurrentSkipListMap, TreeMap)

    ConcurrentHashMap 内部结构 在JDK1.8之前的实现结构是:ReentrantLock+Segment+HashEntry+链表 JDK1.8之后的实现结构是:synchronize ...

  2. SQL Inserted 触发器游标结合实例

    SqlServer的Inserted可能是一个集合而不是一条数据,如果有如果需要对插入数据进行处理,有时需要用游标逐条处理 FROM inserted) --插入和更新 declare cur cur ...

  3. 基于verilog的分频器设计(半整数分频,小数分频:下)

    第二种方法:对进行奇数倍n分频时钟,首先进行n/2分频(带小数,即等于(n-1)/2+0.5),然后再进行二分频得到.得到占空比为50%的奇数倍分频.下面讲讲进行小数分频的设计方法. 小数分频:首先讲 ...

  4. docker容器中使用rsyslogd

    rsyslogd作为CentOS:7系统自带的日志管理工具,为很多服务提供了便捷的日志管理接入方案,然而 CentOS:7的官方镜像 默认是不支持rsyslogd的.我们做个实验: 1)启动测试容器 ...

  5. golang学习笔记----源码文件

    GO源码文件

  6. 2019-11-29-win10-uwp-颜色转换

    原文:2019-11-29-win10-uwp-颜色转换 title author date CreateTime categories win10 uwp 颜色转换 lindexi 2019-11- ...

  7. .net core启用Swagger

    启用 Swagger 页面    官方文档推荐两种框架:Swashbuckle 和 NSwag,这里使用 Swashbuckle 来生成接口文档. 目录 安装包 添加服务 配置中间件 添加 UI 设置 ...

  8. 在ASP.NET MVC中创建自定义模块

    创建模块 module是实现了System.Web.IHttpModule接口的类.该接口定义了两个方法: Init:当模块初始化时被调用,传入的参数为HttpApplication对象,用于注册请求 ...

  9. PIESDKDoNet二次开发配置注意事项

    在安装完PIESDK进行二次开发的过程中会遇到下面几种常见的开发配置问题,就写一个文档总结一下. 1.    新建项目无PIESDK模板问题 关于新建项目时候,找不到下图中的PIEMainApplic ...

  10. QT场景视图父子关系图元打印研究

    在之前的一篇文章中,实现了QT场景视图的打印功能,主要通过render函数来实现,非常简单和方便. 在实际的项目需求中,除了打印整个场景外,还需要对单个图形进行打印操作,基于item的图形可以在pai ...