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

Git配置.gitignore:忽略目录及子目录所有文件仅保留.conf文件

Git .gitignore 正确配置:忽略/some/dir/所有文件但保留.conf格式文件

原配置失效的核心问题是!/some/dir/**/这一行递归取消了所有子目录的忽略状态,导致子目录内的非.conf文件也不会被忽略。以下是正确的配置方案:

# 忽略/some/dir/下的所有直接文件和子目录
/some/dir/*
# 递归允许Git扫描所有子目录(否则深层.conf文件会因目录被忽略而无法匹配例外规则)
!/some/dir/**/
# 递归保留所有子目录下的.conf格式文件
!/some/dir/**/*.conf

配置说明:

  • /some/dir/*:匹配/some/dir/下的所有直接文件和一级子目录,将它们设为忽略状态
  • !/some/dir/**/:通过递归例外规则,让Git能够遍历/some/dir/下的所有深层子目录,这是确保后续.conf文件规则生效的关键——如果目录被完全忽略,Git不会扫描其中的文件,例外规则也就无法触发
  • !/some/dir/**/*.conf:递归匹配所有子目录下的.conf文件,将它们从忽略列表中排除

注意事项:

如果/some/dir/下已有文件被Git追踪过,需要先执行以下命令清除缓存,再重新提交,规则才会生效:

git rm --cached -r /some/dir/

内容的提问来源于stack exchange,提问作者José Otero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:46:04