在.gitignore文件中:
1. 所有空行或者以 #
开头的行都会被 Git 忽略。例:
# .gitignore文件中的注释
# 无论隔多少空行,都会被忽略
2. 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。(glob 模式是指 shell 所使用的简化了的正则表达式)。例:
# 忽略所有的 .a 文件,*匹配零个或多个任意字符
*.a
# 忽略文件名为cat.a,bat.a,Cat.a,Bat.a等文件,?匹配任意一个字符
?at.a
# 忽略文件名为Cat.a,Bat.a等文件,不匹配cat.a,bat.a,[CB]匹配任意一个包含的字符
[CB]at.a
# 忽略1.a,...,9.a文件,[0-9]匹配任意一个给定范围的字符
[0-9].a
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
3. 匹配模式可以以(/
)开头防止递归。例:
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
4. 匹配模式可以以(/
)结尾指定目录。例:
# 忽略任何目录下名为 build 的文件夹
build/
5. 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!
)取反。
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a