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

如何基于当前master分支恢复已被回退的PR代码变更?

恢复被回退的Git变更方案

以下几种方法可以高效恢复被回退的变更,无需逐个复制代码:

方法一:Cherry-Pick原提交

  1. 先定位你当初合并到master的目标提交ID:
    • 执行git log --oneline查看历史记录,找到对应开发分支的所有独立提交,或是合并PR生成的合并提交(日志通常会显示类似「Merge pull request #XXX from xxx/feature-branch」的内容)。
  2. 切换到新分支后执行cherry-pick:
    • 若是多个独立提交:git cherry-pick <提交ID1> <提交ID2> ...
    • 若是合并提交,需指定父分支(参数-m 1代表以master为父分支):git cherry-pick -m 1 <合并提交ID>
  3. 若遇到冲突,手动解决后执行git cherry-pick --continue即可继续操作。

方法二:Revert之前的回退操作

  1. 找到用来回退变更的那个提交ID(即第二个PR生成的revert提交)。
  2. 在新分支上执行git revert <回退提交ID>,这个命令会生成新提交,将之前被回退的代码重新恢复,且不会破坏现有master的历史记录。

方法三:导出补丁并应用

如果找不到具体提交ID,可通过补丁方式导出变更:

  1. 找到包含目标变更的旧master版本(记为提交ID A),以及当前master的最新版本(记为提交ID B)。
  2. 导出补丁文件:git diff B A > changes.patch
  3. 切换到新分支,应用补丁:git apply changes.patch
  4. 解决可能出现的冲突后,提交代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:57:34