在项目中我们有一些文件是不能公开的,或者说是每个人需要单独配置的,那么这个时候使用 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. R与金钱游戏:均线黄金交叉1

    双11临近的我发现自己真的很穷很穷很穷(重要的问题说三遍)-- 贫穷催人上进.于是我就寻思着在空闲时间自己捣鼓一下钱生钱的游戏是怎么玩的,毕竟就算注定做韭菜也要做一根有知识有理想的韭菜. 第一个要玩的 ...

  2. python调用MySQL数据库

    在Python中访问mysql数据库中的数据需要三步骤: 1,建立连接 2,操作数据库 3,连接关闭

  3. Docker核心组件的关系

  4. spring 核心容器

    核心容器包括了:Beans.Core.Context.SpEL 1. core和beans模块提供了整个框架最基础的部分,包括了IoC(控制反转)和Dependency Injection(依赖注入) ...

  5. 微信小程序报thirdScriptError Cannot read property 'setData' of undefined

    用onLoad: function (options) {} 加载页面缓存的数据的时候报错   修改为          

  6. 实现个虚拟机只要几百行的 toy 版就够了

    关键是 指令 的 eval 并把 高层代码进行翻译. 典型的项目: 1.  java-compiler (C++) 2. 手把手教你构建 C 语言编译器(0)- 前言 | 三点水  (C)

  7. 架构师小跟班:教你从零开始申请和配置七牛云免费OSS对象存储(不能再详细了)

    背景 之前为了练习Linux系统使用,在阿里云上低价买了一台服务器(网站首页有活动链接,传送门),心里想反正闲着也是闲着,就放了一个网站上去.现在随着数据越来越多,服务器空间越来越吃紧,我就考虑使用七 ...

  8. android studio学习----添加项目库

    Library Project(库项目) compile project(':library') 引用名称为 library 的 module .需要注意的是,被引用的 module 需要在 {@pr ...

  9. nodeJs 报maximum call stack size exceeded js

    先看错误 查了下资料说是什么js堆栈异常,是递归造成的啥的,但我程序里没用到啥递归,整了老半天将collection-repeat换成ng-repeat然后就好啦,具体原因待探讨.

  10. Excel 使用VBA或宏----简单笔记

    一.一种纯粹的录制宏.(未使用此方法,如有兴趣可自学),就是Excel提供了“所见即所得”的方式生成宏.把自己想要的操作记录,录制成宏. 自学网等各种网站有教学视频或文章 二.常用VBA语法及函数笔记 ...