Git 回滚Merge的代码(commit is a merge but no -m option was given.)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 回滚Merge的代码(commit is a merge but no -m option was given.)相关的知识,希望对你有一定的参考价值。

参考技术A 我们通过 git revert xxx 命令回滚某次merge过的commit,此时会报错 commit is a merge but no -m option was given. ,这是因为当前的merge commit其实包含了两个子commit,也就是当时合并的两个commit,因此在执行 git revert 的时候会失败,需要选择回滚具体的两个子commit中的一个才可以正常回滚。

我们通过 git log xxx 可以看到当前commit下的 Merge: f2fe8c9 6103926 ,第二个id: 6103926 就是我要回滚的commitid前7位。

按照 git revert xxx 报错的提示,应该追加 -m 命令,以下是命令的注释

我们要回滚第二个id: 6103926 ,则 -m 1 ,表示保留以第1条为主线回滚第2条commit,如果回滚第一个则 -m 2 。
最终我们要回滚的命令:

执行完毕就可以提交了。

补充说明(发现一个解释的更清楚的文章)

git提示Please enter a commit message to explain why this merge is necessary

Please enter a commit message to explain why this merge is necessary.

请输入提交消息来解释为什么这种合并是必要的(提交信息)

技术分享图片

git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

1.按键盘字母 i 进入insert模式

2.修改最上面那行黄色合并信息,可以不修改

3.按键盘左上角"Esc"

4.输入":wq",注意是冒号+wq,按回车键即可

以上是关于Git 回滚Merge的代码(commit is a merge but no -m option was given.)的主要内容,如果未能解决你的问题,请参考以下文章

git本地代码回滚

解决git提交:Please enter a commit message to explain why this merge is necessary

git 回滚

git中Please enter a commit message to explain why this merge is necessary.

git中Please enter a commit message to explain why this merge is necessary

git 回滚到某个版本