Git从本地已删除旧分支检出文件失败,路径不匹配报错
问题原因及解决办法
你的问题核心是本地不存在MDM-991/feature-pilot分支,Git无法识别这个不存在的分支引用,自然找不到对应分支下的文件路径。
解决步骤:
1. 拉取远程所有分支信息
先让本地获取远程仓库的最新分支数据:
git fetch origin
2. 确认远程是否保留旧分支
执行命令查看所有本地和远程分支:
git branch -a
如果能看到类似 remotes/origin/MDM-991/feature-pilot 的条目,说明远程还存着这个分支。
3. 用远程分支引用检出目标文件
直接指定远程分支的完整路径来检出文件(注意加--分隔分支和文件路径,避免歧义):
git checkout origin/MDM-991/feature-pilot -- src/main/java/com/mdm/flows/planar/FlowControlPlane.java
特殊情况:远程也删除了旧分支
如果git branch -a里找不到这个远程分支,说明远程也已经删除了。这种情况下你需要找到该分支最后一次提交的哈希值(比如从团队成员本地仓库、Git备份记录里找),然后用哈希值检出文件:
git checkout <commit-hash> -- src/main/java/com/mdm/flows/planar/FlowControlPlane.java
你之前操作的问题点
你直接用MDM-991/feature-pilot作为分支参数,但这个分支只存在于远程(或已完全删除),本地没有该分支的引用,Git无法定位对应分支的内容,因此报错路径不匹配。
内容的提问来源于stack exchange,提问作者BreenDeen
相关产品推荐
相关产品推荐

