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

Git仓库中保留指定隐藏目录、忽略其余隐藏目录的配置方法

解决Git忽略所有隐藏目录除了指定目录的配置问题

我帮你搞定这个.gitignore的配置问题!你的原始配置没达到预期,核心原因是只例外了.hidden_useful目录本身,但目录内的文件依然被全局忽略规则匹配到了,而且你还不小心把.gitignore自己也给忽略了。

正确的配置方案

这里有两种可靠的写法,你可以根据需求选择:

方案一:精准忽略所有隐藏目录(推荐)

这种方式直接针对隐藏目录,不会误触非隐藏文件:

# 忽略所有以.开头的隐藏项(目录和文件)
.*
# 不要忽略.gitignore本身
!.gitignore
# 不要忽略.hidden_useful目录
!.hidden_useful/
# 不要忽略.hidden_useful目录下的所有内容
!.hidden_useful/**

方案二:先全局忽略再逐一例外

如果你需要严格忽略所有内容,只保留指定项,用这个:

# 忽略当前目录下的所有内容
*
# 不要忽略.gitignore
!.gitignore
# 不要忽略.hidden_useful目录(必须加/明确是目录)
!.hidden_useful/
# 不要忽略.hidden_useful下的所有文件和子目录
!.hidden_useful/**

关键规则解释

  1. 为什么要加!.hidden_useful/**?
    当你用*或.*忽略全局内容时,即使例外了目录本身,目录内的文件依然会被全局规则覆盖。这条规则明确告诉Git:.hidden_useful下的所有内容都要追踪。
  2. 为什么要例外.gitignore?
    因为.*或*会匹配到.gitignore文件本身,如果不例外,这个配置文件会被Git忽略,导致规则不生效。
  3. 目录后加/的作用?
    加/是明确告诉Git这是一个目录,避免和同名文件混淆,同时确保目录本身不被忽略,这样其下的内容例外规则才能生效。

验证配置是否生效

你可以用以下命令测试,确认无用的隐藏目录被忽略,有用的目录被追踪:

# 查看Git忽略的文件
git status --ignored
# 查看Git追踪的文件
git status

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:08:36