在项目中我们有一些文件是不能公开的,或者说是每个人需要单独配置的,那么这个时候使用 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. hibernate中many-to-one的not-found属性和@notfound注解

    如果在Hibernate项目里面配了很多many-to-one的关联,即使后台在查询数据时已经作了健全性判断,但还是会经常抛出对象找不到异常:org.hibernate.ObjectNotFoundE ...

  2. https的原理入门

    现在基本上互联网上访问的地址都是使用HTTPS协议了,只有局域网才会使用HTTP协议,因此了解HTTPS十分重要. HTTP存在的问题 上过网的朋友都知道,网络是非常不安全的.尤其是公共场所有很多免费 ...

  3. PyCharm创建Django项目并连接mysql数据库

    0. 安装Django pip install django 1. 新建项目 注:我的Pycharm为社区版,创建项目时,File->New Project- 显示为: ​ 注意勾选内容. 如果 ...

  4. 前端学习:JS(面向对象)代码笔记

    前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...

  5. Java-Queue总结

    1. ConcurrentLinkedQueue 基础链表同步队列. import java.util.Queue; import java.util.concurrent.ConcurrentLin ...

  6. 像修改本机代码一样修改远端服务器的PHP网站

    映射vps目录到自己电脑的摸索记录 最近拿discuz做了一个网站,需要修改模板文件之类的,还需要调试微信和QQ登陆的接口.都是些位置零散的小修改,但是有些需要在线上才能调试(QQ微信的oauth登陆 ...

  7. Python基础14

    P73. 内嵌函数的讲解介绍 内部函数,书中讲的应用较简单,后面找篇具体的文章学习下

  8. 基于windows 10打造的kali工具集

    基于windows 10打造的kali工具集.iso,适合于习惯使用windows的安全从业者.if you like it,please touch star! 作为安全从业主,Kali都是必备工具 ...

  9. kali2.0升级

    1.登录kali2.0系统 2 2.修改软件源APT-sources.list vim /etc/apt/sources.list 3 可以删除该文件中的所有内容,也可以直接在文前添加新的APT源. ...

  10. maven 学习---如何从Maven远程存储库下载?

    根据 Apache Maven 的说明: Downloading in Maven is triggered by a project declaring a dependency that is n ...