You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.gitignore中dir、dir/与dir/*的区别?附config场景示例

.gitignore中config、config/、config/*的区别(同名文件与目录共存场景)

假设项目根目录同时存在config文件和config/目录(目录内包含dev.yaml、prod.yaml等文件),三种写法的具体差异如下:

1. config

  • 同时匹配所有层级下名为config的文件和目录:根目录的config文件会被忽略,根目录的config/目录及其全部内容也会被忽略;如果子目录(如src/config)里有同名文件或目录,同样会被忽略。
  • 属于全局匹配规则,不区分文件/目录类型。

2. config/

  • 仅匹配当前.gitignore所在层级下的config目录:根目录的config/目录及其全部内容会被忽略,但根目录的config文件不会被影响,仍会被Git追踪。
  • 只针对目录生效,不会匹配同名文件;如果要匹配所有层级的config目录,需要写成**/config/。

3. config/*

  • 仅匹配config目录下的直接子项(文件和一级子目录):根目录的config文件不受影响,会被Git追踪;config/目录本身会被Git保留(如果目录非空或曾被追踪),但目录内的dev.yaml、prod.yaml等直接内容会被忽略。
  • 注意:*默认不匹配以.开头的隐藏文件(如.gitkeep),也不会递归匹配子目录里的内容(如需递归忽略需用config/**)。

内容的提问来源于stack exchange,提问作者bolt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:58:14