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

如何恢复feature分支误删并提交的main分支代码?

解决Git分支合并失误导致代码丢失的问题

先恢复feature分支中被误删的代码

你之前执行git pull origin main无效,是因为Git会将feature分支的删除操作视为有效提交,不会自动回滚。可以通过以下两种方式恢复:

方式1:通过差异对比手动恢复

  1. 切换到feature分支:
    git checkout feature
    
  2. 对比main和feature分支的代码差异,定位被删除的内容:
    git diff main feature
    
    执行后会显示类似如下的删除标记(以你的示例为例):
    -f2();
    
  3. 手动将被删除的f2();代码添加回文件,然后提交变更:
    git add .
    git commit -m "恢复误删的f2()代码"
    

方式2:通过提交历史回滚到未删除代码的版本

  1. 查看feature分支的提交历史,找到还保留f2();的那个提交ID(一串哈希值):
    git log --oneline
    
  2. 重置feature分支到该提交(注意:如果该提交之后还有其他有效变更,此操作会丢弃后续提交,需谨慎):
    git reset --hard <目标提交ID>
    
    若后续还有需要保留的提交,可改用git revert撤销删除操作的提交:
    git revert <删除代码的提交ID>
    
    此命令会生成一个新提交,将被删除的代码恢复,同时保留后续的有效变更。

确保合并到main分支时不会删除代码

恢复feature分支的代码后,就可以正常向main分支发起Pull Request并合并了。此时feature分支的代码与main分支一致(或包含你的新增变更),合并操作不会删除main分支的现有代码。

内容的提问来源于stack exchange,提问作者Surendranatha Reddy T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:12:06