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

在有后续提交的分支上Revert指定Commit,是否保留后续修改?

Git Revert 后后续提交的变更会保留吗?

嘿,这个问题问得特别实用,我来给你讲明白~

首先得搞懂 git revert 到底是干啥的:它不会删除任何已有的提交历史,而是生成一个全新的提交,这个新提交的作用就是把你指定要撤销的那个commit里的所有变更给反向抵消掉。

回到你的核心问题:后续提交的变更会完完整整保留下来!因为 git revert 只针对你指定的那个特定commit动手,和它之后的所有提交都没有关系。

举个直观的例子:
假设你的提交历史是这样的:
Commit A -> Commit B(你要撤销的)-> Commit C -> Commit D

当你执行命令 git revert <Commit B的哈希值> 之后,Git会自动创建一个新的Commit E,这个E的内容就是把Commit B做的所有修改给“还原”回去。这时候你的提交历史会变成:
Commit A -> Commit B -> Commit C -> Commit D -> Commit E

你看,Commit C和D里的所有变更都原封不动地保留着,只是Commit B的效果被Commit E给中和了而已。

当然有个小细节要注意:如果后续的提交(比如C或D)和你要撤销的Commit B有代码冲突的话,执行revert的时候Git会提示你解决冲突,但这只是常规的合并冲突问题,解决完之后C和D的内容依然会完整保留,只是需要你手动调整冲突的部分罢了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:42:15