所以我分叉了一个开源项目,并在上周发送了一个错误修正,但没有被提取到他们的主人。我在一个单独的分支上创建了该修复程序,在上游主服务器上重新设置了它,并从该分支发出了一个pull请求。然而,我接着开始研究一个新问题,但错误地创建了这个新问题的分支,我为原始的bug修复创建了分支。
所以现在我在分支机构的正下方提交了我想要推送并发出拉取请求。我将上游/主服务器的所有更新提取并合并到我的主分支中,并且我想在顶部重新设置这个新提交并将其发送,但由于旧的错误修正提交,尝试重新设置会产生冲突。 / p>
处理此问题的最佳方法是什么?
答案 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