.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 "不匹配,后者有斜线