You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从复制的.git目录恢复文件失败:git checkout仅显示带D的文件路径

解决Git从备份的.git目录恢复文件的问题
  • 进入存放备份.git目录的文件夹(比如你的tmp/)
  • 执行以下命令强制恢复工作区到仓库最新提交的状态:
    git reset --hard HEAD
    
  • 如果你的主分支不是默认的master,可以指定分支名,比如:
    git reset --hard main
    

为什么之前的git checkout没生效?

当你只复制.git目录到空文件夹时,Git会认为工作区的所有文件都被手动删除了,此时单纯执行git checkout只会输出这些被标记为删除的文件路径,但不会主动恢复。而git reset --hard HEAD会强制将工作区与仓库中HEAD指向的提交完全同步,直接从仓库中提取所有文件到工作区。

额外建议

  • 备份.git目录前,最好执行git status确保仓库没有未提交的修改,这样恢复后的状态和备份时完全一致。
  • 如果备份时存在未提交的修改,恢复后可以用git stash list查看,再用git stash apply恢复这些修改。

内容的提问来源于stack exchange,提问作者Ray Gllisse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 18:54:25