我错误地将批准的拉取请求合并到我的master分支中。 PR应该是针对我在构建应用程序时正在使用的开发分支的。然后,我将PR还原到了dev分支,但现在它已覆盖了之前的代码。在此之前,我已经将2个PR合并到了dev分支中。
如何撤消合并到主服务器中的合并,使其恢复为初始提交,同时又将我的开发分支重置为先前的合并PR?
答案 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中。祈祷!