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

Git忽略规则配置异常:仅public目录被追踪,brand及.gitkeep未生效

.gitignore配置问题分析与修复

你的.gitignore核心问题是忽略了父目录导致子文件/目录无法被识别:

  • 开头的*会忽略/app下所有文件和目录,包括public目录本身。Git的规则是:如果某个目录被标记为忽略,Git会直接跳过这个目录,不会再扫描里面的任何内容——哪怕你给子文件加了!例外规则也没用。
  • 你只单独放行了.gitkeep文件,但没先放行它们所在的public和public/brand目录,导致Git根本看不到这些文件。

正确的.gitignore配置

*
!.gitignore
!public/
!public/.gitkeep
!public/brand/
!public/brand/.gitkeep

配置逻辑说明

  1. *:先统一忽略/app下所有内容,作为基础规则;
  2. !.gitignore:保留.gitignore自身,避免它被忽略;
  3. !public/:必须先放行public目录,让Git能扫描该目录内的内容;
  4. !public/.gitkeep:明确追踪public下的.gitkeep;
  5. !public/brand/:同样需要先放行brand目录,Git才能识别里面的文件;
  6. !public/brand/.gitkeep:追踪brand下的.gitkeep。

如果你的需求只是确保public和brand目录被Git追踪(空目录默认不被Git追踪,.gitkeep是用来占位的),也可以简化成下面的配置,效果一致:

*
!.gitignore
!public/
!public/brand/

因为放行目录后,Git会自动扫描目录内的文件(包括.gitkeep),只要没有其他忽略规则限制它们。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:24:25