1

所以我分叉了一个开源项目,并在上周发送了一个错误修复,但没有被拉入他们的主人。我在一个单独的分支上创建了该修复程序,将其重新建立在上游的 master 之上,并从该分支发出了拉取请求。然而,我随后开始处理一个新问题,但错误地从我为原始错误修复创建的分支创建了这个新问题的分支。

所以现在我在我想要推送并发出拉取请求的分支中直接在我的下方提交了该提交。我将所有对 upstream/master 的更新获取并合并到我的 master 分支中,我想在顶部重新提交这个新提交并将其发送,但由于那个较旧的错误修复提交,尝试重新设置会产生冲突。

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

4

2 回答 2

3

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

在此之后,一个简单的git stash apply应该从存储中恢复您的工作。

于 2012-12-18T00:21:59.383 回答
0

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

git rebase --onto master bad-branch second-bug-fix
于 2012-12-18T00:37:48.913 回答