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

Git忽略含_data名称文件夹失效:能否通过名称部分匹配实现?

解决.gitignore中匹配含_data文件夹的忽略需求

首先,咱们先搞清楚为什么你之前加的**/*_data/规则没生效——大概率是这些_data文件夹里的文件已经被Git追踪过了。Git的.gitignore只对未被追踪的文件生效,已经被add/commit过的文件,哪怕后来加了忽略规则,Git还是会继续追踪它们。

接下来给你两种解决方案,分情况使用:

一、正确的.gitignore规则写法

如果你想忽略所有名称包含_data的文件夹及其内部所有文件、子文件夹,可以用这条规则:

**/*_data/**

或者更精准一点,如果你只想匹配以_data结尾的文件夹(比如example_data,而不是data_example),用你原来的规则其实也没问题:

**/*_data/

这条规则的含义:

  • **/ 表示匹配任意层级的目录
  • *_data/ 表示匹配名称以_data结尾的文件夹(末尾的/确保只匹配文件夹,不会误匹配同名文件)

二、处理已被Git追踪的文件

如果之前已经把这些_data文件夹里的文件提交到Git了,光改.gitignore没用,得先把它们从Git的追踪列表里移除(不会删除本地文件,放心操作):

  1. 执行命令清除Git缓存:
git rm -r --cached .
  1. 重新添加所有文件(此时.gitignore的规则会生效,被忽略的文件不会被重新添加):
git add .
  1. 提交这个更改:
git commit -m "Update .gitignore to exclude *_data folders"

验证规则是否生效

你可以用这条命令测试规则是否正确匹配到了目标文件:

git check-ignore -v /program/example_data/code/some_file.py

如果输出里显示你的.gitignore规则,就说明规则已经生效了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:58:32