在Git版本控制中,.gitignore文件用于指定git忽略哪些文件和目录。通过忽略不必要的文件可以减少代码库的混乱,提高代码管理效率。

基本语法

  1. 注释
    任何以#开头的行为都会被认为是注释,git会忽略这一行。
    # 这是一个注释

  2. 空行

    空行会被git忽略,可以用于增加文件的可读性。

    1
    2
    3
    4
    5
    # 忽略所有的 .log 文件
    *.log

    # 忽略node_modules 目录
    node_modules/
  3. 匹配文件名
    可以使用简单的文件名或路径匹配规则来制定忽略的文件和目录。

    1
    2
    3
    4
    5
    # 忽略特定文件
    temp.txt

    # 忽略特定目录
    build/
  4. 通配符
    星号(*)
    星号匹配零个或多个任意字符。

    1
    2
    # 忽略所有以 temp 开头的文件
    temp*

    问号(?)

    问号匹配任意一个字符。

    1
    2
    # 忽略以所有a开头、任意一个字符结尾的文件
    a?

    方括号([])

    方括号匹配指定范围内的任意字符。

    1
    2
    # 忽略a、b或c开头的文件
    [a-c]*

高级规则

  1. 目录匹配
    在文件后面加上斜杠(/)可以指定要忽略的目录

    1
    2
    #忽略所有的日志目录
    logs/
  2. 例外规则
    在规则前加上感叹号(!)可以指定不忽略的文件或者目录。

    1
    2
    3
    4
    5
    # 忽略所有的 .log 文件,但不忽略 debug.log

    *.log

    !debug.log
  3. 双星号(**)
    双星号匹配任意数量的目录

    1
    2
    3
    4
    5
    # 忽略任何位置的临时文件
    **/temp/*

    # 忽略所有目录下的 .DS_Store 文件
    **/.DS_Store