返回顶部

.gitignore

总会有些文件无需纳入git的管理,也不希望它们总出现在未跟踪文件列表

                            
  • # 星号(*)匹配零个或多个任意字符
  • # 忽略所有的 .a 文件
  • *.a
  • # [abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个a,要么匹配一个b,要么匹配一个c)
  • # 忽略所有以 .o 或 .a 结尾的文件
  • *.[oa]
  • # 忽略所有名字以波浪符(~)结尾的文件
  • *~
  • # 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反
  • # 忽略 '!important!.txt' 文件,
  • \!important!.txt
  • # 不忽略lib.a,即便你在前面忽略了 .a 文件
  • !lib.a
  • # 如果在方括号中使用短划线(-)分隔两个字符,
  • # 表示所有在这两个字符范围内的都可以匹配
  • # [0-9].txt,可以忽略2.txt,但不能忽略22.txt
  • 2.txt
  • # [a-z].txt,可以忽略a.txt,但不能忽略ab.txt
  • # [0-9a-Z]忽略多位需要加* 比如忽略ab22.txt或22.txt或ab.txt
  • [0-9a-Z]*.txt
  • # 忽略something文件和something目录
  • something
  • # 只忽略something目录,不忽略something文件
  • something/
  • # 只忽略something文件,不忽略something目录
  • something
  • !something/
  • # 只忽略当前目录下的something文件和目录,子目录的something不在忽略范围内
  • /something
  • # 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
  • doc/*.txt
  • # 前导 '**' 后跟斜杠表示在所有目录中均匹配
  • # 忽略'foo'文件或目录,任何地方都匹配
  • # 与'foo'相同,'**/foo/bar'在目录'foo'下的任何位置匹配文件或目录'bar'
  • **/foo
  • # 中间 '**'
  • # 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
  • doc/**/*.pdf
  • # 尾部的 '/**' 匹配其中的所有内容
  • # 忽略目录'abc'内的所有文件的深度是无限的
  • abc/**
  • # 忽略 '#1.txt' 文件,以哈希开头的模式,请在第一个哈希之前放置反斜杠(\)
  • \#1.txt
  • # 模式 hello.* 匹配名称以 hello. 开头的任何文件或目录。
  • # 如果只想将其限制在目录中而不是在其子目录中,则可以在模式前加上斜杠,即 /hello.*
  • # 该模式现在匹配 hello.txt 、 hello.c 但不匹配 a/hello.java
  • # 模式 doc/frotz 和 /doc/frotz 在任何 .gitignore 文件中具有相同的效果
  • # 模式 foo/ 将匹配目录 foo 及其下的路径,但不匹配常规文件或符号链接 foo
  • # 模式 "foo/*",匹配 "foo/test.json"(常规文件)、"foo/bar"(目录)
  • # 但不匹配 "foo/bar/hello.c"(常规文件)
  • # 因为模式中的星号与 "bar/hello.c "不匹配,后者有斜线