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提交: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中Please enter a commit message to explain why this merge is necessary