Git执行checkout报错pathspec不匹配,如何撤销tut51.cpp的本地修改
Git撤销
tut51.cpp本地修改时报pathspec错的解决方案 报错核心原因
该报错本质是Git无法识别你输入的文件路径,常见诱因有3种:
- 漏写
checkout命令的路径分隔符,Git误将文件名识别为分支名 - 输入的文件名大小写/路径层级和实际仓库中的文件不一致
- 终端当前工作目录不在Git仓库的对应层级
分步解决步骤
- 先确认文件实际路径
执行git status,查看输出中标记为modified的文件完整路径,严格按照输出中的文件名、路径写法操作,注意大小写敏感问题(Windows/macOS默认Git对大小写不敏感,文件名大小写不匹配也会报错)。 - 执行撤销命令
目前更推荐使用Git 2.23版本后新增的git restore命令(语法更清晰,无歧义):- 若修改还未执行
git add暂存,直接运行:git restore tut51.cpp - 若修改已经被暂存,先取消暂存再撤销修改:
git restore --staged tut51.cpp git restore tut51.cpp
- 若修改还未执行
- 如果你习惯使用传统的
checkout命令,必须添加--分隔符明确告知Git后续参数为文件路径,避免识别歧义:git checkout -- tut51.cpp
内容的提问来源于stack exchange,提问作者Abdul raheem
相关产品推荐
相关产品推荐

