git回退某条/多条提交记录

cpp 复制代码
git log --oneline   查看提交记录   找到要回退的前缀编码
git revert xxxx   针对普通的单次提交记录
git revert -m 1 xxxx  针对getMerage的提交记录

如果你有 多条不想要的提交 ,并且已经合并推送到远程,那么依旧不能用 reset(会把后面的提交都干掉)。

正确做法仍然是:逐条用 git revert****撤销这些不想要的 commit

下面给你几种情况的处理方式。


情况 1:多条普通提交(不是 merge)

比如你要撤销这几条:

复制代码
a8  
a5  
a3

直接逐条执行:

复制代码
git revert a8
git revert a5
git revert a3

然后:

复制代码
git push

顺序建议 从后往前 (从日志上方往下),避免冲突几率。


情况 2:要撤销的提交中有 merge commit

Merge xxx****的就是 merge commit。

撤销时要加 -m 1**,例如:**

复制代码
git revert -m 1 <merge_commit_id>

多个 merge 也一样,一个一个来。


情况 3:要撤销的提交是连续的(例如第 2、3、4 条都不要)

不用一条一条 revert,可以一次性 revert 一个区间:

找到这个区间最早的提交 old_commit****和最晚的 new_commit**。**

比如:

复制代码
a6  
a5  
a4  ← 不想要
a3  ← 不想要
a2  ← 不想要
a1

执行:

复制代码
git revert a2..a4

它会自动生成多个 revert commit。

然后:

复制代码
git push
相关推荐
SouthRosefinch15 小时前
Git下载与仓库配置
git
ChoSeitaku15 小时前
Git实战|协作开发|分支设计规范|Git实践
git·设计规范
i建模16 小时前
Git升级的详细操作
git
不爱学英文的码字机器1 天前
Git误操作急救手册大纲
git
A懿轩A1 天前
【2026 最新】Mac 电脑配置指南:Homebrew 安装换源 + Git 环境配置(保姆级教程)
git
切糕师学AI1 天前
Visual Studio Git 使用指南
git·elasticsearch·visual studio
蜜汁小强1 天前
Git Worktree:在不打断当前开发的情况下紧急修复生产问题
git
宇宙realman_9991 天前
Git 本地版本控制极简使用笔记(Qt 项目专用)
笔记·git
坐吃山猪1 天前
OpenClaw02_GitHook使用
git·hook·openclaw
莫寒清1 天前
Git分支命名规范与最佳实践
git