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

Git双回滚如何保留原提交作者?

双回滚后保留原提交作者的轻量方案

场景

  • 处于CI/CD企业环境,多团队变更持续合并到master分支
  • 当合并提交存在bug时,需执行revert操作保障master分支的发布稳定性
  • 修复故障特性时,第一步需执行「回滚回滚」操作,避免打乱master分支历史

问题

执行「双回滚」后,原特性的成百个多作者提交,全部显示为执行第二次回滚的人提交,丢失了原提交作者信息

限制条件

  • Cherry pick操作复杂度高,不适用于大量提交
  • 禁止向master执行force push,因此无法使用rebase操作

解决方案

可以通过重新合并原特性分支的方式轻量解决:

  1. 拉取最新的master分支,同时检出原特性分支(假设名为feature/xxx)
  2. 在feature/xxx分支执行git merge master,解决可能存在的冲突
  3. 将更新后的feature/xxx分支合并到master分支(通过常规PR或直接merge)

这种方式的优势:

  • 无需逐个处理提交,操作复杂度低
  • 原特性分支的所有提交作者信息会完整保留在master分支历史中
  • 属于常规的merge操作,无需force push,符合企业环境的权限限制

如果原特性分支已被删除,可以通过以下方式恢复:

  1. 找到原合并到master的提交哈希(假设为ORIGINAL_MERGE)
  2. 基于该提交创建新分支:git checkout -b feature/restore-xxx $ORIGINAL_MERGE
  3. 后续按上述步骤2-3执行merge操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:02:15