zoukankan      html  css  js  c++  java
  • 详解Git中的.gitignore文件

    1.什么是.gitignore文件?有什么作用?

    在Git中,有一种特殊的文件,其文件全名就是 .gitignore,这个文件可以用txt打开,主要功能是屏蔽某些文件,使得这些文件不被追踪(tracked),自然push后也不会上传到github等平台。

    2.有什么规则?

    (1)# content

    开头以‘#’的行在.gitignore中起注释作用,所以'#’后的content在.gitignore中不起任何作用。

    (2)/ToDo

    以'/'开头的表示仅屏蔽当前文件夹ToDo下的文件。需要注意的是空文件夹不会被追踪。

    |--.gitignnore

    |--ToDo--test0.txt

    |--TooDo--|---ToDo--test1.txt

    |--TDoo

    |--testGit.txt

    |--license.txt

    在上述文档结构下,test0.txt将被屏蔽,test1.txt不会被屏蔽,即显示TooD未被追踪,TDoo由于是空文件夹,所以也不会被追踪,而testGit.txt和license.txt已被提交,所以也不是未被追踪。

    验证如下:

    (3)ToDo/

    以'/'结尾的表示屏蔽所有名为ToDo文件夹下的文件下的文件都会被屏蔽。

    |--.gitignnore

    |--ToDo--test0.txt

    |--TooDo--|---ToDo--test1.txt

    |--TDoo

    |--testGit.txt

    |--license.txt

    在上述文档结构下,test0.txt和test1.txt均会被屏蔽,即没有被追踪的,而testGit.txt和license.txt已被提交,所以也不是未被追踪。

    验证如下:

    (4)!a.a

    忽略a.a,即对a.a也追踪,一般搭配*.a,而*.a解释见下面一条。

    (5)*.a

    屏蔽所有扩展名为a的文件,如1.a, 2.a等。

    |--.gitignnore

    |--ToDo--test0.txt

    |--TooDo--|---ToDo--test1.txt

    |--TDoo--2.a

    |--1.a

    对如上文档结构,由于屏蔽了1.a, 2.a所以追踪到test0.txt和test1.txt,即追踪ToDo,TooD文件夹。

    (6)*.[abc]

    屏蔽所有扩展名为a,或者b或者c的文件。

    |--.gitignnore

    |--ToDo--test0.txt

    |--TooDo--|---ToDo--test1.txt

    |--TDoo--2.b

    |--1.a

    对如上文档结构,由于屏蔽了1.a, 2.b所以追踪到test0.txt和test1.txt,即追踪ToDo,TooD文件夹。

    验证如下:

    (7)*.a?

    屏蔽所有扩展名以a开头,且扩展名只有2个字符的文档。?表示一个字符

    |--.gitignnore

    |--ToDo--5.abc

    |--TooDo--|---ToDo--6.a

    |--TDoo--4.ab

    |--1.a

    |--2.ab

    |--3.abc

    在上述文档结构中,2.ab,4.ab被屏蔽,其他的都被追踪。

    (8)[0-9].txt

    屏蔽0.txt,1.txt,2.txt...9.txt。

    (9)doc/**/*.p

    屏蔽doc下所有扩展名为p的文件。**表示嵌套路径,即doc下的多层路径。

    |--.gitignore

    |--5.p

    |--doc|--1.p

        |--TDoo--4.p

        |--ToDo--3.p

              |--TooD--ToDo--2.p

    在如上文档结构中,1.p,3.p,4.p被屏蔽,5.p由于不在doc文件下,被追踪。

    ##### 愿你一寸一寸地攻城略地,一点一点地焕然一新 #####
  • 相关阅读:
    测试结束的标准
    坚持“5W”规则,明确内容与过程
    单元测试过程各阶段的输入、输出是什么?
    集成测试过程各阶段的输入、输出是什么?
    系统测试过程各阶段的输入、输出是什么?
    Mybatis的优点和缺点?
    Hibernate中session有几种创建方式?都有那些区别?
    AQS结构
    JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
    Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?
  • 原文地址:https://www.cnblogs.com/johnyang/p/12527554.html
Copyright © 2011-2022 走看看