• 【git】.gitignore文件


    .gitignore文件


    .gitignore文件中的每一行指定一个匹配规则。
    子目录从父目录继承匹配规则。
    最后匹配规则有效(后面的匹配规则替换前面的匹配规则)。


    匹配规则如何编写

    1. 注释行以# 开头。
    2. 空格不匹配任意文件。它可用反斜杠转义获得,比如当文件名中包含空格时,可以用\空格(\为转义符)表示空格。
    3. ! 开头的匹配规则表示否定含义,即该匹配规则匹配的文件会再次被git包含在内。有一个例外,当在! 开头的匹配规则之前,已将包含该文件的目录忽略时,则该! 开头的匹配规则不生效(无论它们在哪里定义。先来后到?)。
    4. 所有路径都是相对于.gitignore文件的。
    5. 斜线/用作目录分隔符。分隔符可能出现在.gitignore匹配规则的开头、中间或结尾。
    6. 匹配规则中不包含分隔符(/)时,该匹配规则应用在低于该.gitignore级别的任何级别。比如*.tmp,可能匹配到/t1.tmp、/t2.tmp、/a/t1.tmp、/a/b/t1.tmp。
    7. 匹配规则开头或中间包含分隔符(/)时,该匹配规则为相对路径,且应用在该.gitignore级别。比如/t1.tmp,匹配到/t1.tmp;t1.tmp,匹配到/t1.tmp。
    8. 匹配规则末尾包含分隔符(/)时,该匹配规则只匹配目录,否则模式可以匹配文件和目录。比如doc/frotz/匹配doc/frotz目录,但不匹配a/doc/frotz目录;frotz/匹配frotz 、a/frotz、a/b/frotz目录。
    9. 星号“ *”匹配任何内容(任意多个任何字符)。
    10. 匹配规则开头包含2个星号(**)时,该匹配规则在低于该.gitignore级别的任何级别匹配。例如, **/foo在当前目录或子目录匹配foo文件或目录(与 foo 等效)。**/foo/bar 在当前目录或子目录匹配foo/bar文件或目录(与 foo/bar 不等效)。
    11. 匹配规则末尾包含斜杠+2个星号(/**)时,该匹配规则匹配所有内容。例如,“ abc/**”匹配 abc目录内的所有文件及abc子目录内的所有文件,无限深度。
    12. 匹配规则中间包含斜杠+2个星号(/**)时,该匹配规则匹配零个或多个目录。例如, a/**/b匹配a/b、a/x/b、 a/x/y/b等。
    13. 字符“ ?”匹配除分隔符(/)之外的任何一个字符。
    14. 范围表示法,例如[a-zA-Z],可用于匹配范围中的任何一个字符。

    参考

    https://git-scm.com/docs/gitignore

  • 相关阅读:
    SQL的运算符优先级
    oracle截取某一个字符之前或之后的值;substr();instr()
    转载-如何成为OpenStack工程师
    入门书籍推荐
    docker学习谈
    mysql学习之旅-主从复制
    LInux断电后无法进入系统报错unexpected inconsistency run fsck manully
    mysqlbinlog读取二进制日志文件时,报错 (转)
    MySQL的binlog详解(转)
    mysql学习之旅-运维手册
  • 原文地址:https://www.cnblogs.com/sunupo/p/16332098.html
Copyright © 2020-2023  润新知