git 撤销中间某次提交,保留其他提交的方法

当开发者意外地将未完成的代码合并到uat环境,导致生产出现问题时,文章建议使用gitrevert而非reset来撤销特定提交。通过gitrevertcommit_id并解决可能的冲突,可以避免影响其他提交,有效地回退到期望的状态,同时提供了详细的步骤指导和相关资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天上班脑抽了,吧test直接合到了uat,因为项目近期就我一个人开发,自己拉个三个分支再改不同的东西,最后都是发到test分支发测试,发生产的时候一个个和嫌麻烦,直接吧test分支怼到了uat,结果生产就出问题了,之前同事改的代码合了test,但是还没改完,不能上生产,那怎么办,看看能否撤回他那次提交,试了很多办法都不行,最后还是解决了:

当想撤销中间某次提交时,强烈建议使用revert命令,而不是reset。
git reset –hard commit_id 虽然可以回退远程库,但是会把其他提交的代码全部退回,需要从新提交,所以建议使用revert命令,只退回那次提交的内容

正确的步骤:

git revert commit_id
//如果commit_id是merge节点的话,-m是指定具体哪个提交点
git revert commit_id -m 1 (例如:‘git revert 33da8c5a -m 1’)
在这里插入图片描述

//接着就是解决冲突
git add -A
git commit -m “…”
git revert commit_id -m 2
//接着就是解决冲突
git add -A
git commit -m “…”
git push

其中git revert commit_id -m 数字是针对,merge提交点的操作。
如果是普通的提交点,不需要这么麻烦。

参考地址:
[Git高级教程(二)] 远程仓库版本回退方法
https://www.cnblogs.com/ShaYeBlog/p/5368064.html
https://blog.csdn.net/hongchangfirst/article/details/49472913

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端攻城狮路飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值