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

Git保留提交历史,回退至指定提交生成新提交的方案咨询

如何保留提交历史的同时回退到旧提交并生成新提交?

你的需求其实非常好实现,不用折腾git reset(会丢历史)或者git revert(还要算提交范围),直接一步到位生成你要的提交4就行,步骤超简单:

首先确保你的工作区是干净的(没有未提交的修改,如果有的话可以先用git stash临时存起来),然后执行下面的操作:

  • 把提交1的所有文件内容同步到当前工作区和暂存区:

    git checkout <提交1的哈希值> .
    

    这里的 . 非常重要,它表示只把提交1里的文件内容覆盖到当前分支的工作区,而不是切换到提交1的分支。

  • 直接提交这个状态,生成提交4:

    git commit -m "回退到提交1的状态"
    

这样操作完之后,你的提交链就变成了 1 <- 2 <- 3 <- 4,而且提交4的内容和提交1完全一致,同时2和3的提交历史完完整整保留着——以后要是想发布这两个提交的功能,直接git cherry-pick 2 3就能把它们的改动重新应用回来,非常灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:23:31