4..gitignore文件的模式匹配规则

模式匹配
空行空行不匹配任何目录或文件。
#以 # 开头的行作为注释。
foo匹配任何目录中名称为 foo 的目录或文件。同模式 **/foo
foo/匹配任何目录中名称为 foo 的目录。同 **/foo/
foo.txt匹配任何目录中名称为 foo.txt 的文件。同 **/foo.txt
/foo匹配 .gitignore 文件所在目录的 foo 目录或文件。
/foo/匹配 .gitignore 文件所在目录的 foo 目录。
/foo.txt匹配 .gitignore 文件所在目录的 foo.txt 文件。
foo/bar匹配 .gitignore 文件所在目录下 foo 目录中的bar 目录或文件。
foo/bar/匹配 .gitignore 文件所在目录下 foo 目录中的 bar 目录。
foo/bar.txt匹配 .gitignore 文件所在目录下 foo 目录中的 bar.txt 文件。
*.a匹配任何目录中以 .a 结尾的文件,* 匹配除斜杠(/)以外的零个或多个任意字符。
*.[oa]匹配任何目录中以 .o.a 结尾的文件,* 匹配除斜杠(/)以外的零个或多个任意字符。
*~匹配任何目录中以波浪符(~)结尾的文件,* 匹配除斜杠(/)以外的零个或多个任意字符。
**/foo匹配任何目录中名称为 foo 的目录或文件。同模式 foo
**/foo/匹配任何目录中名称为 foo 的目录。同模式 foo/
**/foo.txt匹配任何目录中名称为 foo.txt 的文件。同模式 foo.txt
**/foo/bar匹配任何目录中在 foo 目录下名称为 bar 的目录或文件。
**/foo/bar/匹配任何目录中在 foo 目录下名称为 bar 目录。
**/foo/bar.txt匹配任何目录中在 foo 目录下名称为 bar.txt 文件。
a/**/z匹配 .gitignore 文件所在目录下 az 之间任意零个或多个中间目录,a/z 、 a/b/z 或 a/b/c/z 等。
foo/**/*.pdf匹配 .gitignore 文件所在目录下 foo 目录及其所有子目录下的 .pdf 文件。
abc/**匹配 .gitignore 文件所在目录下 abc 目录中的所有目录和文件。
[abc]匹配在方括号(又称范围)中的一个任意字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c)。
[0-9]匹配在方括号(又称范围)中的一个任意字符(匹配 09 十个数字中的一个)。
!lib.a可以在模式前加上叹号(!)取反。如果前一个模式通过匹配文件的形式排除,那可以被重新包含。如果前一个模式通过父目录的形式排除,则无法重新包含该文件。如果不作为取反需要使用!时,可以转义\!
?匹配除斜杠(/)以外的一个任意字符。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/linux/git/31556.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2023年3月3日
下一篇 2023年3月7日

相关推荐

发表回复

登录后才能评论