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

如何修复Git提交失误,恢复2.yaml并保留后续有效提交更改?

更优解决方案

不需要丢弃整个错误提交,直接针对2.yaml文件操作即可,两种方案可选:

方案一:不修改提交历史(适合已推送至远程的情况)

这种方式不会改动已有提交记录,避免影响协作的其他人员:

  • 从正确版本7ceda62恢复2.yaml:
    git restore --source=7ceda62 -- 2.yaml
    
  • 暂存恢复后的文件:
    git add 2.yaml
    
  • 提取后续两次提交中对2.yaml的有效更改(-n参数仅应用更改不自动提交,方便检查):
    git cherry-pick -n 317724 -- 2.yaml
    git cherry-pick -n e592af -- 2.yaml
    
  • 检查2.yaml内容无误后提交:
    git commit -m "修复2.yaml:恢复正确基础版本并应用317724、e592af中的有效更改"
    

方案二:修正提交历史(适合仅本地未推送的情况)

如果这些提交还没推送到远程,可以用交互式变基整理干净的历史:

  • 启动交互式变基,以正确版本7ceda62为起点:
    git rebase -i 7ceda62
    
  • 在弹出的编辑器中,把错误提交2d1f43对应的行开头pick改为edit,保存退出。
  • 恢复2.yaml到错误提交前的状态:
    git restore --source=HEAD^ -- 2.yaml
    
  • 暂存并修正错误提交:
    git add 2.yaml
    git commit --amend --no-edit
    
  • 继续完成变基,将后续提交重新应用:
    git rebase --continue
    

两种方案都能保留后续两次提交的有效更改,且比你原本的手动合并+cherry-pick更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:47:27