gitignore中`*`和`/*`的区别
*
可以匹配所有的字符(不含/
), 包括目录和子目录下的所有文件或者目录; 而/*
匹配根目录下面的所有文件或者目录, 不包括子目录, 对于下面的目录结构:
*
匹配的是全部文件和目录/*
匹配的内容如下面的红色字体所示, 黑色字体表示没有被匹配, 但由于上层目录被忽略, 所以下层目录和文件也被忽略, 似乎和*
的作用是一样的, 其实不然, 如果加上排除选项!
, 二者就有区别了.
/A1/
/A1/a.txt
/A1/b.txt
/B1/
/B1/A2/
/B1/a.txt
/B1/b.txt
/.gitignore
/a.txt
比如, 下面的例子中,*
表示忽略所有的文件和目录, 既使下面!/A1
排除掉A1
目录, 也仅仅是A1
目录没有被忽略, 但是git管理是针对文件的, 不是针对目录的, 所以单独一个A1
目录也不会被纳入管理, 如下所示:
但是, 如果是/*
, 排除掉A1
之后,A1
下面的文件也被排除掉了, 如下所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律