git的 .gitignore 如何配置(git如何忽略、追踪文件)

zz/2024/7/24 1:47:10

.gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,

以下是个人对于配置 .gitignore 的一些心得。

1、配置语法:

  以斜杠“/”开头表示目录;

  以星号“*”通配多个字符;

  以问号“?”通配单个字符

  以方括号“[]”包含单个字符的匹配列表;

  以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

  

  此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,

意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;


2、示例:

       # 此为注释 – 将被 git 忽略
       * .a  # 忽略所有 .a 结尾的文件
       !lib.a  # 但 lib.a 除外
       /TODO # 仅仅忽略项目根目录下的 TODO 文件, 不包括 subdir/TODO
       build/ # 忽略 build/ 目录下的所有文件
       doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

            /system/*   #忽略根目录system下所有文件

          【例子】

            # 忽略*.o和*.a文件

              *.[oa]

            # 忽略*.b和*.B文件,my.b除外

              *.[bB]

               !my.b

             # 忽略dbg文件和dbg目录

                 dbg

             #只忽略dbg目录,不忽略dbg文件

                  dbg/

             # 只忽略dbg文件,不忽略dbg目录

                 dbg

                !dbg/

             # 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内

                 /dbg


  (1)规则:fd1/*
      说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;

  (2)规则:/fd1/*
      说明:忽略根目录下的 /fd1/ 目录的全部内容;

  (3)规则:

/*
!.gitignore
!/fw/bin/
!/fw/sf/

说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;

 

须通过右键Git Bash,按照linux的方式来新建.gitignore文件。具体步骤如下:1. 在需要创建  .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录。2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。3.然后用编辑器打开这个文件进行编辑就行了。4.然后就写规则来操作要忽略的文件了。.gitignore文件过滤有两种模式,开放模式和保守模式

4.1开放模式负责设置过滤哪些文件和文件夹eg:过滤文件夹设置:/mtk/  表示过滤这个文件夹过滤文件设置指定过滤某种类型的文件:
*.zip
*.rar
*.via
*.tmp
*.err指定过滤某个文件:
/mtk/do.c
/mtk/if.h4.2 b保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。
跟踪某个文件夹!/plutommi/mmi跟踪某类文件!*.c!*.h跟踪某个指定文件
!/plutommi/mmi/mmi_features.h4.3.配置.gitignore 的简易原则采用共享模式与保守模式结合配置的办法。
eg:一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,配置很简单,就可以跟踪想要跟踪的文件。 

      

http://www.ngui.cc/zz/2762642.html

相关文章

Running migrations: No migrations to apply.(django不能创建数据库中的表的问题)

第一步: 删除该app名字下的migrations下的__init__.py等文件。 第二步: 进入数据库,找到django_migrations的表,删除该app名字的所有记录。 第三步:执行下面这两条命令:(在项目目录下&#xf…

Django数据库查询相关

一旦数据模型创建完毕,自然会有存取数据的需要. 本文档介绍了由models衍生而来的数据库抽象API,及如何创建,得到及更新对象. 贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序: class Poll(models.Model): slug models.SlugField(unique_for_monthpub_date) question…

js中return、return true、return false的区别

一、返回控制与函数结果, 语法为:return 表达式;语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果。 二、返回控制,无函数结果,语法为:return;在大多数情况下,为事件处理函数返回…

django的session保存策略(时间)

session的超时时间设置settings中 SESSION_COOKIE_AGE60*30 30分钟。 SESSION_EXPIRE_AT_BROWSER_CLOSEFalse:会话cookie可以在用户浏览器中保持有效期。True:关闭浏览器,则Cookie失效。 SESSION_COOKIE_DOMAIN 生效站点SESSION_COOKI…

HTML5线性图表iGrapher 功能非常强大

原文:http://www.html5tricks.com/html5-chart-igrapher.html 各种图标的绘制,Hightchart :http://www.hcharts.cn/

轻量级图形报表工具JSCharts (JSChart),内置函数中文参考(二)

1. 实例化 JSCharts var mychartsnew JSCharts(“ chartId”,”bar ” ); 注&#xff1a;chartId-<div>标签的id、bar-图的类型 如&#xff08;饼图、线图 等。。。&#xff09;。 2.JSCharts 设置数据。 var myData new Array([10, 20], [15, 10], [20, 30], [25, 1…

Shell重定向 &file、21、12 、/dev/null的区别

在shell脚本中&#xff0c;默认情况下&#xff0c;总是有三个文件处于打开状态&#xff0c;标准输入(键盘输入)、标准输出&#xff08;输出到屏幕&#xff09;、标准错误&#xff08;也是输出到屏幕&#xff09;&#xff0c;它们分别对应的文件描述符是0&#xff0c;1&#xff…

【深度学习】RNN(循环神经网络)

1 循环神经网络&#xff08;RNN&#xff09;概念 循环神经网络&#xff0c;是一种线性序列结构&#xff0c;前一个神经元的结果会传递给后一个神经元。 递归神经网络&#xff0c;是一种层次结构&#xff0c;前一个神经元会影响后一个神经元&#xff0c;后一个神经元同样也会影…

wget因为https和ssl的原因不能下载

在使用wget下载过程中&#xff0c;有时会因为https和ssl的原因&#xff0c;出现类似"Unable to establish SSl connection"的错误&#xff0c;导致不能下载。这时可以使用 --no-cookie --no-check-certificate 这两个参数解决。 wget --no-cookie --no-check-certi…

jps 、jstack命令详解

一、jps命令shi yong jps是jdk提供的一个查看当前java进程的小工具&#xff0c; 可以看做是JavaVirtual Machine Process Status Tool的缩写。非常简单实用。 命令格式&#xff1a;jps [options ] [ hostid ] [options]选项 &#xff1a; -q&#xff1a;仅输出VM标…