git-如何撤消合并到主请求中的请求

时间:2019-09-16 13:54:16

标签: git github

我错误地将批准的拉取请求合并到我的master分支中。 PR应该是针对我在构建应用程序时正在使用的开发分支的。然后,我将PR还原到了dev分支,但现在它已覆盖了之前的代码。在此之前,我已经将2个PR合并到了dev分支中。

如何撤消合并到主服务器中的合并,使其恢复为初始提交,同时又将我的开发分支重置为先前的合并PR?

1 个答案:

答案 0 :(得分:1)

这就是合并的方式

master    a..b..c..d...f...h...j..... 
pullreq              e...g...i..../

当他们合并时变成

master:   a..b..c..d..e..f..g..h..i..j..

现在您要删除pullreq更改,因此在这种情况下,您可以这样做

git checkout d
git checkout -b newmaster
git cherry-pick f
git cherry-pick h
git cherry-pick j

其中a,b,c,d,e等是提交。

这不是一件容易的事,因此在将某些内容合并到master中时要当心...

还有其他方法,但是我会把它们留给别人!

如果您从'dev'分支中分支出某个东西并将其合并到'master'中,那么您可能很不走运,因为现在整个dev分支也与该pull请求一起合并到master中。祈祷!