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

误推代码至错误仓库后执行Git拉取致本地变更丢失,如何恢复?

恢复本地变更并处理错误远程源的方案

一、找回丢失的本地变更

  1. 查看Git操作历史记录,定位执行错误git pull前的本地状态:

    git reflog
    

    在输出结果中,找到标记为pull origin master: Merge ...的记录,取其前一条记录的提交ID(例如a1b2c3d),这就是你执行pull操作前的本地状态节点。

  2. 恢复到该节点状态:

    • 直接覆盖当前混乱的工作区(若无需保留当前混乱状态):
      git reset --hard a1b2c3d
      
    • 先备份当前混乱状态再恢复(更安全):
      git branch backup-failed-merge
      git reset --hard a1b2c3d
      
  3. 找回未提交的本地修改:

    • 检查是否有未被记录的 stash:
      git stash list
      
      若有记录,执行git stash apply stash@{n}(n为列表中的序号)恢复。
    • 若没有 stash 记录,尝试查找Git丢失的对象:
      git fsck --lost-found
      
      然后查看.git/lost-found/other目录下的文件,手动提取需要的内容。

二、移除错误的远程源

  1. 确认当前配置的远程仓库:

    git remote -v
    
  2. 删除错误的远程源(假设错误源名称为origin):

    git remote remove origin
    
  3. (可选)添加正确的Bitbucket仓库作为远程源:

    git remote add origin 你的正确仓库URL
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:10:28