在 Git 上撤销合并操作但未使用 -m 选项。

4

我已经提交并推送了两个更改,现在我想从git中撤销一个推送。

我使用了以下命令:

sudo git revert 1c3268d4b69dc6ca9dd89e92b513f5edb194978c

但是它显示给我

提交1c3268d4b69dc6ca9dd89e92b513f5edb194978c是一个合并,但没有给出-m选项

Git日志

commit b3972be60fb2f2c70b56f470c8327152e773f725
Author: jaskarans <jask@sl.com>
Date:   Fri Mar 16 11:25:49 2018 +0530

    remove error 1599

commit 1c3268d4b69dc6ca9dd89e92b513f5edb194978c
Merge: 5d6fdd4 7531be0
Author: jaskarans <jask@sl.com>
Date:   Fri Mar 16 10:23:58 2018 +0530

    Merge branch 'development' of https:// abc.com:8888/development/asdf into jQuery_update

commit 5d6fdd48cdd0b402913bf70fb64be83e676e8b21
Author: jaskarans <jask@sl.com>
Date:   Fri Mar 16 10:21:26 2018 +0530
1个回答

14

如果您提交的是合并类型的提交,并且您尝试撤销它,则无法在SourceTree中执行。合并提交无法被挑选或还原。

要还原合并提交,您必须按照以下语法进行操作:

git revert -m 1 <commit-hash> 
git commit -m "Reverting the last commit."
git push -u origin master

3
“-m 1”是一个命令行选项,表示将程序的工作模式设置为1。它指定了程序将使用的特定参数或配置,并更改了程序的默认行为。 - Sandeep
1
这表示您想要在合并之前回到第一个父节点的树。 - Niki
1
@nTri:这并不完全正确,你并没有“恢复到”任何东西(“恢复到”意味着“采取树形结构”,这将丢弃合并后提交的操作;git revert并不会这样做)。 - torek
“first parent” 是什么意思?(最早的提交日期?最早的作者日期?还是其他什么?) - Don Hatch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接