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

WordPress项目.gitignore配置问题:排除指定文件但保留特定静态文件失败

WordPress项目.gitignore配置问题:排除指定文件但保留特定静态文件失败

看起来你遇到了Git忽略规则里的一个常见坑——当你用通配符排除某个目录下的所有内容后,Git默认不会再扫描这些被排除的子目录,导致后面写的包含规则(!)根本无法生效。我来给你调整一下配置并解释原因:

正确的.gitignore配置

# 排除wp-content/uploads下的所有内容,但保留目录结构
/wp-content/uploads/*
# 保留uploads根目录下的.htaccess和index.html
!/wp-content/uploads/.htaccess
!/wp-content/uploads/index.html
# 保留uploads所有子目录下的.htaccess和index.html
!/wp-content/uploads/**/.htaccess
!/wp-content/uploads/**/index.html

# 完全排除临时备份目录
/wp-content/upgrade-temp-backup/

配置说明

  • 你之前用的/wp-content/uploads/*会直接排除uploads目录下的所有文件和直接子目录,这意味着Git不会深入这些子目录检查内部文件,所以全局的!**/.htaccess规则对这些子目录里的文件完全不起作用。
  • 我们需要明确指定保留uploads根目录和所有子目录下的目标文件,让Git主动扫描这些路径,覆盖之前的排除规则。

验证与修复小技巧

如果调整后还是有问题,可以用Git命令排查具体哪个规则在生效:

git check-ignore -v wp-content/uploads/woocommerce_uploads/.htaccess

要是输出显示的还是旧的排除规则,大概率是这些文件已经被Git的忽略缓存记录了,你可以用以下方式处理:

  1. 强制添加文件:git add -f 目标文件路径
  2. 先清除缓存再添加:git rm --cached 目标文件路径,之后再执行git add 目标文件路径

备注:内容来源于stack exchange,提问作者Scott Wood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 11:05:27