commit is a merge but no -m option was given.

本文介绍了如何使用Git解决revertmergecommit的问题。当需要撤销特定的merge操作时,可以通过指定-m或--mainline参数来确定要撤销的具体commit,示例展示了如何通过命令行实现这一过程。

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

//查看提交历史
$ git log  -1
commit 137ea95c911633d3e908f6906e3adf6372cfb0ad
Merge: 5f576a9... 62db4af...
Author: Nick Quaranto <nick@quaran.to>
Date:   Mon Mar 16 16:22:37 2009 -0400

这时候如果执行git revert commitId
会提示如标题的错误。

对于revert merge的情况,程序员需要指出revert 这个merge commit中的哪一个。通过-m或者--mainline参数,以及配合一个整数参数,git就知道到底要revert哪一个merge。

如果使用git revert HEAD~1 -m 1命令,也就是5f576a9,使用-m 2会revert第二个commit,也就是62db4af

上面的两个commitId在提交历史中也可以看到。

转自https://www.cnblogs.com/ShaYeBlog/p/5368064.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值