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

如何向Git添加目录结构但不提交对应目录内的文件内容

问题解决:Git保留指定目录结构、忽略目录内所有内容的配置方案

正确配置步骤

1. 调整.gitignore规则

将原来的规则替换为以下内容:

# 允许Git跟踪两个目标根目录
!folder1/
!folder2/
# 忽略两个目录下的所有子文件/子目录
folder1/*
folder2/*
# 例外规则:保留占位文件,用于让Git识别空目录
!folder1/.gitkeep
!folder2/.gitkeep

2. 创建目录占位文件

Git本身不支持跟踪空目录,需要在两个目录下各创建一个约定俗成的空占位文件.gitkeep,执行以下命令即可:

touch folder1/.gitkeep folder2/.gitkeep

3. 提交配置到版本库

# 暂存修改后的配置文件和占位文件
git add .gitignore folder1/.gitkeep folder2/.gitkeep
# 提交改动
git commit -m "chore: 保留folder1、folder2目录结构,忽略目录内其他内容"

原配置失效原因

  1. Gitignore规则的匹配优先级为后置规则覆盖前置规则,你之前先写了不忽略folder1、folder2的规则,后续又添加了忽略目录下所有内容的folder1/**、folder2/**规则,后者优先级更高直接覆盖了前面的排除规则。
  2. 就算规则配置正确,Git也不会跟踪完全空的目录,必须有至少一个可追踪的文件在目录内,Git才会将目录纳入版本管理。

拓展说明

如果后续需要跟踪两个目录下的指定文件,直接在.gitignore中添加对应例外规则即可,示例:

# 保留folder1下的config.json文件不被忽略
!folder1/config.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:24:03