在项目中我们有一些文件是不能公开的,或者说是每个人需要单独配置的,那么这个时候使用 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. [sonarqube的使用] sonarlint在idea&eclipse中安装与使用

    介绍 ​ 代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管 ...

  2. ******可用 SpringBoot 项目打包分开lib,配置和资源文件

    spring-boot多模块打包后,无法找到其他模块中的类https://blog.csdn.net/Can96/article/details/96172172 关于SpringBoot项目打包没有 ...

  3. Runtime.addShutdownHook()(译)

    序言: 每一个Java程序都可以为JVM增加一个关闭钩子.JVM将在关闭之前执行关闭钩子中的指令. 问题: 一个程序可能需要在退出前执行一些指令.程序可能由于下列原因而退出: 所有的线程已经执行完毕 ...

  4. SOTA激活函数学习

    除了之前较为流行的RELU激活函数,最近又新出了几个效果较好的激活函数 一.BERT激活函数 - GELU(gaussian error linear units)高斯误差线性单元 数学公式如下: X ...

  5. spring-security.xml——安全性框架配置文件

    <?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://w ...

  6. kkpager 实现ajax分页查询

    前台分页数据,适合数据少量的时候,因为分页的数据是从后台获取的,大数据的话不建议使用 现看前台代码: @{ Layout = null; } <!DOCTYPE html> <htm ...

  7. 用javascript写了一个模拟阅读小说的程序

    <html> <meta http-equiv="content-type" content="text/html; charset=UTF-8&quo ...

  8. vue中路由拦截无限循环的情况

    router.beforeEach(async (to, from, next) => { if (token) { if (whiteList.indexOf(to.path) != -1) ...

  9. EtherNet/IP CIP协议

    EtherNet/IP CIP协议 1.EtherNet/IP简述 EtherNet/IP(Ethernet/Indstrial Protocol,以太网/工业协议)是一种基于以太网和TCP/IP技术 ...

  10. MySQL的select详细介绍

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据 语法 以下为在MySQL数据库中查询数据通用的 SE ...