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
相关推荐
郡杰2 小时前
Git基础与开发平台搭建
git·后端
钟智强4 小时前
我警告了 329 天
git·php·wordpress·webshell
乐观的冷风6 小时前
我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?上图中GIT已经给出了说明:
git
tjl521314_217 小时前
Git SSH Host Key Verification Failed 问题排查与解决
运维·git·ssh
嘶哈哈哈9 小时前
[特殊字符] Git 协作指南
git
say_fall9 小时前
【Git 精品详解】企业规范:企业级开发模型、Git Flow、发版流程规范、Code Owner 制度、事故应急回滚
大数据·linux·服务器·git·学习·elasticsearch
江畔柳前堤1 天前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
GuHenryCheng1 天前
【ESP32】ESP-IDF开发环境搭建(cursor)
git·stm32·单片机·学习
kaka。。1 天前
GIT安装+代码推送
git
明理的路灯1 天前
安装 git 开发工具
git