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

Git推送到远程仓库后如何恢复误删文件并解决git revert报错?

操作步骤

报错的核心原因:你当前工作目录中已经存在3个同名的未被git跟踪的文件,git revert 操作恢复被删文件时会覆盖这些本地文件,因此git主动终止了操作。

方案1:使用git revert完成恢复(保留删除提交的记录)

  • 第一步:处理本地冲突的未跟踪文件
    • 如果这3个本地文件无保留价值,直接删除:
      rm MainUI/Common/KMessage/KMessage.mc MainUI/Common/KMessage/KMessage.rc MainUI/Common/KMessage/KMessage.res
      
    • 如果文件需要保留,先移动到其他目录备份:
      mkdir -p ~/git_temp_backup && mv MainUI/Common/KMessage/KMessage.* ~/git_temp_backup/
      
  • 第二步:执行恢复操作
    先通过git log --oneline找到你之前删除文件那次提交的commit哈希值(示例为a1b2c3d,替换为你实际的哈希值),执行:
    git revert --no-commit a1b2c3d
    
    执行完成后,被删除的3个文件就会恢复到工作区,同时恢复的改动会自动加入暂存区。
  • 第三步:完成其他文件的改动
    按需求修改其他文件,改动完成后执行提交:
    git add .
    git commit -m "恢复误删的KMessage相关文件,更新[你的改动说明]"
    
  • 第四步:推送到远程仓库
    git push
    

方案2:直接拉取历史文件(操作更简单,无冲突风险)

如果你不需要保留删除文件那次提交的回滚记录,也可以直接从删除前的版本导出三个被删的文件,无需处理revert冲突:

  • 先找到删除文件那次提交的commit哈希值(示例为a1b2c3d,替换为你实际的哈希值),执行以下命令直接恢复文件:
    git checkout a1b2c3d~ -- MainUI/Common/KMessage/KMessage.mc MainUI/Common/KMessage/KMessage.rc MainUI/Common/KMessage/KMessage.res
    
  • 后续正常修改其他文件、提交、推送即可,操作和方案1的第三、第四步完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:45:05