我犯了一个错误,解释如下:
我在分支feature5上,与master相比大约有200个提交,我从feature5创建了一个本地分支documentation。(我忘了我不在master上)
然后,我将新的/更新的文档提交给origin/documentation (我认为documentation分支不存在于origin上)。(许多项目.失去理智)
然后,我意识到我推了大约200个不应该属于这个分支的documentation。我怎样才能还原它呢?
我看了一下这个讨论,但是我在我的documentation分支中迷路了,我不知道我应该在哪里恢复,因为它上有太多来自feature5的提交,我想恢复这个分支上的最后一个推送,可以吗?或者知道在我做坏事之前的最后一次承诺是什么?
另一种解决方案是删除origin/documentation,并基于主服务器创建一个新的origin/documentation分支,因为Master包含旧的origin/documentation分支,没有上次的错误推送,但是如果可能的话,我想尝试保持origin/documentation分支的活力。谁知道呢,也许我需要在几天/几周/几个月内做同样的事情-- ^_^
我还快速地看了一下git-revert,但到目前为止,我看不出它对我有什么帮助。
发布于 2014-02-21 16:53:13
如果我正确地理解了您的问题,您可以通过使用documentation参数将您的--onto分支重新定位到主程序来修复这个问题。
git rebase --onto origin/master HEAD~n其中"n“是您在documentation分支中真正关心的提交数。
然后,在提升新的-f分支时,需要使用documentation标志。
https://stackoverflow.com/questions/21940038
复制相似问题