赞
踩
每行一个规则:每行只能包含一个规则,多个规则需要分别写在不同的行上。
示例:
# 忽略日志文件
logs/
# 忽略临时文件
temp.txt
种类匹配:
file.txt
。示例:
# 忽略文件 file.txt
file.txt
# 忽略同名目录或者文件(不论嵌套)
dist
/
指定目录名或路径,如 /dir/
。示例:
# 忽略目录 dir(从当前目录出发寻找)
/dir/
# 忽略目录或者文件 dir(从当前目录出发寻找)
dir
# 忽略目录或者文件 dir(从当前目录出发寻找)
/dir
通配符:
*
:匹配任意数量(0个或多个)的字符,但不包括路径分隔符(斜杠)。示例:
# 忽略所有 .txt 结尾的文件
*.txt
?
:匹配单个字符,但不包括路径分隔符。示例:
# 忽略 a.txt 或 aa.txt,但不忽略 aatxt
a?.txt
**
:匹配任意数量的字符,包括路径分隔符。可用于匹配子目录和嵌套目录。示例:
# 忽略所有的 .txt 文件,无论它们在哪个目录下
**/*.txt
# 从当前目录出发,忽略a目录下的.jpg(不含嵌套)
/a/*.jpg
# 从当前目录出发,忽略a目录下的所有.jpg(含嵌套)
/a/**/*.jpg
斜杠 /
:用于指定匹配相对于 .gitignore 文件所在位置的路径。
示例:
# 忽略当前目录下的 notes.txt 文件
/notes.txt
注释:
#
标记注释行,注释行将被忽略。示例:
# 这是一个注释
反转规则:使用 !
前缀。如果规则以 !
开头,则表示不忽略匹配的文件或目录。(一般用于保留之前已经匹配忽略的文件或目录)
示例:
# 忽略所有 .txt 文件,但不忽略 important.txt
*.txt
!important.txt
此实例表示忽略upload 目录下的所有文件,但是我们此时想要保留该目录,所有可以指定一个文件 .gitkeep,然后保留该目录下的 .gitkeep 文件,也就是保留了该目录。
行尾斜杠 /
:如果规则以 /
结尾,则该规则将匹配目录而非文件。
示例:
# 忽略整个 logs 目录
logs/
递归通配符 **
:递归地匹配任意路径段,包括子目录和嵌套目录,例如 /dir/**/*.txt
。
示例:
# 忽略 dir 目录及其子目录下的所有 .txt 文件
/dir/**/*.txt
忽略空目录:.gitignore 文件本身无法忽略空目录,因为 Git 不跟踪空目录。但你可以在目录中创建一个 .gitkeep 文件,使 Git 跟踪该目录。
示例:
# 忽略空目录
/emptydir/.gitkeep
请注意,.gitignore 规则基于模式匹配,并且相对于 .gitignore 文件的位置。
参考 Git 官方文档以获取更多信息:https://git-scm.com/docs/gitignore
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。