为什么git已跟踪文件Lab03未显示在工作目录,如何将其恢复到工作目录?
问题成因
- macOS 默认的 APFS/HFS+ 文件系统为大小写不敏感但保留大小写模式,系统会判定
lab03和Lab03为同一路径,仅会保留创建时的大小写格式。 - 此前的重命名、回滚操作未通过Git官方命令执行,导致Git索引中已存储大小写正确的
Lab03/README.md路径,但本地工作目录仍残留旧的小写lab03文件夹。 - 执行
git checkout时,Git基于系统的大小写不敏感判定规则,认为目标路径已存在,不会主动创建大小写正确的Lab03文件夹。而多数代码编辑器对路径大小写敏感,因此无法识别到符合Git索引路径的Lab03目录。
解决方法
- 先备份
lab03文件夹内未提交的本地修改,避免数据丢失。 - 执行命令删除本地小写的
lab03文件夹:rm -rf lab03 - 执行命令从最新提交中恢复
Lab03文件夹到工作目录:git checkout HEAD -- Lab03 - 验证恢复结果:执行
ls即可看到Lab03文件夹,编辑器也可正常识别、显示该目录。
后续避坑提示
如果后续需要修改Git管理的文件/文件夹大小写,建议直接通过Git命令操作,避免再次出现路径大小写不一致问题:
git mv -f 旧路径 新路径 # 示例:git mv -f lab03 Lab03
内容的提问来源于stack exchange,提问作者Xinyu Li
相关产品推荐
相关产品推荐

