git:恢复合并错误



我最近使用git合并了本地主分支。然后,我进行了一些更改,并提交了主分支。现在,我想摆脱由我的主人分支合并造成的变化。所以我做了:

git revert <commit-id>

但是,我有错误

错误:提交C49AACA4ACF461CC41390C1D1D1D3477F09E25A368是合并 没有给出-m选项。致命:恢复失败

fyi,我没有向服务器推任何东西。我在网上搜索,但找不到一个不错的解决方案。有人知道该怎么做吗?谢谢。

在git中,提交通常只引用1个父犯罪。

但是,如果您 merge并遇到冲突,如果您使用选项--no-ff(无快速前进),或者如果Git无法快速向前,则GIT创建merge commit

合并提交是一项致力于链接两个分支的提交,通过引用两个分支的提交(在这种情况下为2个父母)。

当您想恢复这种类型的提交时,您需要指定哪个分支应该是其余的分支。如git doc中所述:

恢复合并订单声明您永远不会想要树 合并带来的更改

您必须使用带有父号码的选项-m--mainline)恢复。您合并的分支数为 1 ,合并分支的数字为 2

在您的情况下,要在合并分支合并之前返回master分支的状态,您应该使用命令

恢复
git revert c49aaca4acf461cc41390c1d1d3477f09e25a368 -m 1

提示:在启动revert之前,请从您的master创建一个新分支(假设您当前在其中)

git checkout -b you-name-it

并在此新分支上执行revert:如果它具有预期的结果,请再次使用checkout您的master分支并执行revert,如果没有CC_13,则您仍然使master分支完整。

最新更新