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

如何将已被回滚的Git代码变更重新合并回master分支?

恢复被回滚的代码并重新合并到Master分支

1. 定位关键提交

  • 找到你当初将feature分支合并到master的合并提交,记录它的哈希值为ORIGINAL_MERGE。可通过以下命令筛选合并提交:
    git log --oneline --merges master
    
    从输出中根据提交信息或时间定位目标合并记录。
  • 找到同事执行回滚生成的提交,哈希值记为REVERT_COMMIT,该提交的信息通常包含Revert "合并xxx"字样。

2. 撤销回滚,恢复你的代码

直接合并原feature分支会被Git判定为已合并(无实际变更),因此需要撤销回滚操作:

git checkout master
git pull origin master  # 拉取master最新变更
git revert REVERT_COMMIT

此命令会生成新提交,将你被回滚的代码重新恢复。

3. 处理冲突(若出现)

执行git revert时若触发冲突,按常规流程处理:

  • 打开冲突文件,手动修改冲突内容
  • 用git add <冲突文件>标记冲突已解决
  • 执行git revert --continue完成撤销操作

4. 推送变更到远程

完成恢复后,推送本地提交到远程master:

git push origin master

备选方案:提取单个提交重新合并

如果你的feature分支包含多个独立提交,可直接提取这些提交应用到最新master:

  • 记录feature分支的起始与结束提交哈希FEATURE_START、FEATURE_END
  • 切换到最新master并拉取更新:
    git checkout master
    git pull origin master
    
  • 批量提取并应用提交:
    git cherry-pick FEATURE_START..FEATURE_END
    
    处理冲突后推送到远程即可。

安全提示

操作前建议创建临时分支备份当前master,避免误操作:

git checkout master
git checkout -b master_backup_$(date +%Y%m%d)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:35:14