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

Git仓库如何配置仅跟踪指定目录及根目录所有文件?

解决Git仓库仅跟踪指定目录和根目录所有文件的.gitignore配置问题

这个问题其实是Git忽略规则里的常见细节坑——目录与文件的匹配范围差异。你之前的配置用/*会把根目录下的所有文件和子目录全部排除,所以不得不手动逐个添加根文件到白名单,确实很麻烦。

核心思路:精准匹配要排除的对象

Git的忽略规则中,/*会匹配根目录下的所有文件和目录,但如果我们把模式改成/*/(注意末尾的斜杠),就只会匹配根目录下的直接子目录,根目录的文件会完全不受影响,默认被Git跟踪,不用再手动添加!

最终优化后的.gitignore配置

/*/
!/bin/
!/Documents/
/Documents/ViberDownloads/
/Documents/.~lock*

规则逐条解释:

  • /*/:仅排除根目录下的所有直接子目录(不会匹配根目录的文件,因此根文件默认被跟踪)
  • !/bin/、!/Documents/:将需要跟踪的bin和Documents目录加入白名单,末尾的斜杠是关键——确保只匹配目录,避免误匹配根目录下同名的文件
  • /Documents/ViberDownloads/:明确排除Documents下的ViberDownloads子目录
  • /Documents/.~lock*:过滤Documents目录中LibreOffice生成的临时锁文件

这样配置后,根目录的所有文件会自动被Git跟踪,你再也不用手动一个个添加了,同时也精准保留了需要的目录、排除了不需要的子目录和临时文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:53:07