不在 Git 仓库中
错误信息
fatal: not a git repository (or any of the parent directories): .git
快速摘要
你在某个目录里运行 Git 命令,但这个目录(及其上层)没有 `.git` 文件夹,Git 不知道该对哪个仓库操作。
为什么发生
还没有用
git init初始化当前目录为 Git 仓库当前目录是仓库之外的路径,需要
cd到仓库目录.git文件夹被误删,仓库元数据丢失
最小示例
✗ 错误代码
cd /tmp
git status✓ 修复代码
cd /tmp/my-project
git status/tmp 不是 Git 仓库。先 cd 到真正的项目目录 /tmp/my-project(里面有 .git)再运行 git status。
如何诊断
在当前目录运行
ls -la查看是否有.git文件夹运行
git status,确认错误信息是否就是 not a git repository向上层目录逐级检查,确认是否在仓库子目录里
如何修复
如果是新项目,运行
git init初始化仓库如果是已有仓库,
cd到仓库根目录再运行 Git 命令如果
.git被误删,从远程重新git clone一份
如何预防
在仓库根目录放一个明显的标记(如 README),避免在错误目录操作
用
git rev-parse --is-inside-work-tree在脚本里先判断是否在仓库内