工作空间默认忽略所有目录文件,需手动取消才可显示的问题咨询
嘿,我帮你梳理下这个问题——你遇到的是工作空间内所有目录/文件都被默认标记为忽略,即使忽略文件里没有对应规则,新增的/Project/Assets/Resources/Graphic/Common/Sprites/Portraits目录也受影响对吧?这大概率不是你手里那个忽略文件本身的问题,而是Git的全局配置、本地隐藏排除规则或者IDE设置搞的鬼,给你几个排查和解决的方向:
检查Git的全局忽略配置
有时候全局的忽略文件会悄悄覆盖本地仓库的规则,你可以先运行这个命令找到全局忽略文件的位置:git config --get core.excludesfile如果返回了具体路径,打开这个文件看看有没有像
*这种通用的全局忽略规则,要是有不符合你需求的,直接删掉对应的规则就行。检查本地仓库的隐藏排除文件
Git还有个只作用于当前仓库的本地排除文件.git/info/exclude,这个文件不会被提交到远程,而且优先级比你手里的忽略文件更高。你可以用这个命令查看它的内容:cat .git/info/exclude如果里面有
*或者匹配你新增目录的规则,把这些规则删掉就能恢复显示了。检查文件/目录的Git跟踪标记
有时候Git的assume-unchanged或skip-worktree标记会让文件看起来像被忽略了,你可以用这个命令查看当前仓库里被标记的文件:git ls-files -v | grep '^[a-z]'如果你的目标目录里的文件出现在结果里,说明被标记了,用下面的命令取消标记:
# 取消assume-unchanged标记 git update-index --no-assume-unchanged /Project/Assets/Resources/Graphic/Common/Sprites/Portraits/* # 如果是skip-worktree标记,用这个命令 git update-index --no-skip-worktree /Project/Assets/Resources/Graphic/Common/Sprites/Portraits/*重置Git工作区状态
如果上面的方法都没效果,你可以尝试重置工作区的跟踪状态(不会删除你的本地文件,只是重置Git对它们的识别):git reset HEAD . git checkout -- .执行完后再看看目录树里的文件是不是正常显示了。
检查IDE/编辑器的本地过滤规则
从你的目录结构看像是Unity项目,这类IDE有时候会有自己的文件过滤设置,比如Unity编辑器的"Project窗口过滤"或者本地忽略规则。你可以去IDE的设置里找"文件过滤""忽略文件"相关的选项,看看是不是不小心开启了"隐藏所有未跟踪文件"之类的全局过滤开关。
内容的提问来源于stack exchange,提问作者CadmusX

