Git 合并第一个请求后,如何提交另一个请求?

Git 合并第一个请求后,如何提交另一个请求?,git,github,pull-request,Git,Github,Pull Request,我分叉了一个公共Github存储库,将该分叉克隆到本地repo,做了一些更改,将它们推送到我的分叉的主分支。然后我打开了一个pull请求,它被合并到原始回购协议中 现在我想做下一个改变。我在本地执行这些操作,推到我的fork的主分支,并尝试打开另一个pull请求。Github将新的更改和以前合并的更改显示为属于这个新的请求。显然,我只想列出新的更改 我做错了什么,怎么做才是对的 把它们推到我叉子的主叉上 这会使您的下一个请求很难合并。你现在应该做的是 git checkout master gi

我分叉了一个公共Github存储库,将该分叉克隆到本地repo,做了一些更改,将它们推送到我的分叉的主分支。然后我打开了一个pull请求,它被合并到原始回购协议中

现在我想做下一个改变。我在本地执行这些操作,推到我的fork的主分支,并尝试打开另一个pull请求。Github将新的更改和以前合并的更改显示为属于这个新的请求。显然,我只想列出新的更改

我做错了什么,怎么做才是对的

把它们推到我叉子的主叉上

这会使您的下一个请求很难合并。你现在应该做的是

git checkout master
git pull --rebase upstream master
其中,
上游
是“原始”回购,以使您的
分支与其
保持一致。
rebase
可能需要手动编辑。现在,要提交拉取请求,请从主机分支:

git checkout -b new-branch
# edit edit edit
git push origin new-branch
并从新分支机构提交拉取请求。这样,您的
主分支机构将与原始回购同步


如果您的
主机
中仍有提交,但这些提交不在上游的
主机
中,请确保将这些提交放在单独的分支中,然后
git reset--hard
主机
分支。

您是否尝试过将本地分支从上游主机上重新定基?@ChrisHeald:不,但简单地说,我应该怎么做呢?如果合并提交者使用的合并方法没有保留提交SHA,那么您的分支就不一定能够进行干净的合并。最简单的方法可能是分叉当前(修改过的)分支,重置母版,
git拉取原始母版
,然后在新变更集中挑选。如果提交SHA被保留,那么您可能只需要
git rebase origin/master
,这将解除您的提交,更新到master,然后在新的头上重播您的提交。由于存储库是公共的,是否可以获取到拉请求的链接,以便我们也可以查看?