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

如何配置.gitignore仅忽略目录及子目录下文件而保留文件夹结构

解决方案

1. 调整.gitignore配置

将你的.gitignore规则修改为如下内容:

# 忽略.data目录下所有层级的.json格式文件
.data/**/*.json
# 强制不忽略.data下的所有子目录,保证git会遍历目录内容
!.data/**/

2. 新增占位文件保留空目录

git本身不支持跟踪空目录,如果子目录内只有被忽略的.json文件,目录结构依然无法提交到仓库。你需要在每个需要保留的子目录(如.data/customers、.data/transactions等)下新建一个名为.gitkeep的空文件,作为占位符让git识别目录结构。

3. 刷新git缓存(可选)

如果之前.data目录已经被git纳入忽略缓存,执行如下命令清理缓存后重新提交即可:

git rm -r --cached .data

规则说明

  • 之前的配置失效是因为如果git匹配到被忽略的父目录,会默认跳过整个目录的内容扫描,添加!.data/**/的取反规则后,git会正常遍历所有.data下的子目录,仅忽略符合规则的.json文件
  • .gitkeep是行业通用的空目录占位约定,没有特殊功能,仅用来让git可以追踪到对应目录的存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:57:00