- 语法
所有空行或者以 # 开头的行都会被 Git 忽略。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。可以在后面添加正斜杠/来忽略文件夹,例如build/即忽略build文件夹。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。即比如在前面用了*.apk,然后使用!a.apk,则这个a.apk不会被忽略。
可以使用标准的 glob 模式匹配。所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。
星号(*)匹配零个或多个任意字符;*用来匹配零个或多个字符,如*.[oa]忽略所有以".o"或".a"结尾,*~忽略所有以~结尾的文件
[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
问号(?)只匹配一个任意字符;
如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。
使用两个星号(**) 表示匹配任意中间目录,比如a/**/z可以匹配 a/z, a/b/z 或 a/b/c/z等。
- 常用规则
# 忽略 .a 文件
*.a
# 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
#过滤整个mtk文件夹
/mtk/
# 忽略 build/ 文件夹下的所有文件
build/
#忽略目录 fd1 下的全部内容
fd1/*
#忽略根目录下的 /fd1/ 目录的全部内容;
/fd1/*
#过滤/mtk/do.c文件
/mtk/do.c
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
#不忽略 根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
!/fw/bin/
!/fw/sf/
- 应用
*.log
*stderr.txt
*stdout.txt
__pycache__
*.pyc
*Copy.*
disconnect*.ims2