gitignore中`*`和`/*`的区别

*可以匹配所有的字符(不含/), 包括目录和子目录下的所有文件或者目录; 而/*匹配根目录下面的所有文件或者目录, 不包括子目录, 对于下面的目录结构:
image

  • *匹配的是全部文件和目录
  • /*匹配的内容如下面的红色字体所示, 黑色字体表示没有被匹配, 但由于上层目录被忽略, 所以下层目录和文件也被忽略, 似乎和*的作用是一样的, 其实不然, 如果加上排除选项!, 二者就有区别了.
    /A1/
    /A1/a.txt
    /A1/b.txt
    /B1/
    /B1/A2/
    /B1/a.txt
    /B1/b.txt
    /.gitignore
    /a.txt
    比如, 下面的例子中, *表示忽略所有的文件和目录, 既使下面!/A1排除掉A1目录, 也仅仅是A1目录没有被忽略, 但是git管理是针对文件的, 不是针对目录的, 所以单独一个A1目录也不会被纳入管理, 如下所示:
    image
    但是, 如果是/*, 排除掉A1之后, A1下面的文件也被排除掉了, 如下所示:
    image
posted @   顺其自然,道法自然  阅读(656)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示