git检测不到本地仓库里的文件

今天晚上在给博客源文件备份仓库配置 Actions 的时候,发现 git 检测不到本地仓库里的文件,记录一下这个问题。

起因

因为初始化仓库的时候,子目录中已经存在 .git 目录,本地仓库初始化报错,于是删除了子目录里的 .git 目录,然后本地仓库顺利初始化。

现象

博客部署的 Action 跑完之后,打开博客主页,发现主页空白,没有错误。然后仔细检查了各个环节,没有发现明显的错误。只能去认真阅读 Actions 部署日志,发现 hexo generate 命令执行过程中有很多警告:

warn: No layout for xxx.html

找不到 layout?第一反应是 layout 目录下文件是不是丢了?

确认了源文件仓库的文件,确实是主题目录下的文件夹都没 push 上去。奇怪的是,git status 也不显示这个目录下的任何文件,即便是文件又修改。并且也确认 .gitignore 文件中没有排除这个子目录。

解决方案

执行 git rm -r --cached 删除 git 本地缓存,然后执行 git status 就可以看到这个子目录了🎉