分支不存在
错误信息
error: pathspec 'x' did not match any file(s) known to git
快速摘要
你 `git checkout xxx` 或 `git branch -d xxx`,但 `xxx` 这个分支在本地根本不存在。
为什么发生
分支名拼写错误
分支只在远程存在,本地还没拉取
分支已被删除,或从未创建过
最小示例
✗ 错误代码
git checkout feature/login
# error: pathspec 'feature/login' did not match✓ 修复代码
git fetch
git checkout feature/login-page实际分支叫 feature/login-page,拼错就找不到。先 git fetch 拉取远程信息,再切到正确名字。
如何诊断
运行
git branch -a查看所有本地和远程分支确认分支名拼写,注意大小写
如果是远程分支,先
git fetch再查看
如何修复
修正分支名拼写
如果是远程分支,用
git checkout -b <本地名> origin/<远程名>或git switch <远程名>如果分支不存在,用
git branch <名字>创建
如何预防
用
git branch -a定期查看所有分支切分支时用 Tab 补全,避免拼写错误