【git】git revert 撤销已入库的提交

本文介绍了如何使用Git的`gitrevert`命令来撤销已入库的提交。可以通过`gitrevertHEAD`回退最近的提交,或者指定`gitrevertxxxx`来撤销特定提交。对于多个提交的回滚,可以使用`gitrevertB^..D`进行范围回滚。此外,文章还提到了`--no-edit`和`--no-commit`选项以及如何将多个revert合并为一个新提交。最后,提供了实战用法示例。
摘要由CSDN通过智能技术生成

前言

回滚没有入库的提交,使用git reset 很方便,但是对于入库的提交,想撤回的话,需要使用git revert

1. 回滚单个提交

回退库中最近一次推送的提交:
git revert HEAD

回退指定的某次提交:

git revert xxxx

git revert 命令还有两个参数。

–no-edit:执行时不打开默认编辑器,直接使用 Git 自动生成的提交信息。

–no-commit:只抵消暂存区和工作区的文件变化,不产生新的提交。

2. 回滚多个提交

假如git commit 链是

A -> B -> C -> D

如果想把B,C,D都给revert,除了一个一个revert之外,还可以使用 range revert

git revert B^..D

这样就把B,C,D都给revert了,变成:

A-> B ->C -> D -> D'-> C' -> B'

我们可以看到依次生成D’、 C’ 、B’ 三次提交

实战用法就是:

1) git revert OLDER_COMMIT^..NEWER_COMMIT
2) 手动提交  //注意,别忘了手动提交至库中

如果我们想把这三个revert不自动生成三个新的commit,而是合并为一个commit完成,可以这样:

git revert -n OLDER_COMMIT^..NEWER_COMMIT    // -n起到合并作用,是New的缩写
git commit -m "revert OLDER_COMMIT to NEWER_COMMIT"

参考

git revert多个提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值