Git - 我的分支是基于错误的不需要的提交,如何修复

时间:2012-12-17 23:34:37

标签: git rebase

所以我分叉了一个开源项目,并在上周发送了一个错误修正,但没有被提取到他们的主人。我在一个单独的分支上创建了该修复程序,在上游主服务器上重新设置了它,并从该分支发出了一个pull请求。然而,我接着开始研究一个新问题,但错误地创建了这个新问题的分支,我为原始的bug修复创建了分支。

所以现在我在分支机构的正下方提交了我想要推送并发出拉取请求。我将上游/主服务器的所有更新提取并合并到我的主分支中,并且我想在顶部重新设置这个新提交并将其发送,但由于旧的错误修正提交,尝试重新设置会产生冲突。 / p>

处理此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

(正如我的评论中所述)解决方案是软重置提交(git reset --soft HEAD^),用git stash save隐藏它,然后通过{{切换到正确的HEAD 1}},rebase或您喜欢或必须使用的任何方式。

在此之后,一个简单的checkout应该从藏匿处恢复您的工作。

答案 1 :(得分:0)

您可以将第二个分支重新绑定到master上,将第一个分支设置为上游分支:

git rebase --onto master bad-branch second-bug-fix
相关问题