如何从分叉的存储库中执行拉取请求

How to do a pull request from a forked repository

我对 Git 有点陌生,需要一些帮助。我已经分叉了一个我在自己的项目中使用的在线存储库。时不时地,我想对原始回购提出一些拉取请求,但由于我在我的分叉中进行了本地更改,我 想要在拉取请求中,我'我有点不确定这个过程。

我可以从本地版本创建的分支创建拉取请求,并将其与上游合并吗?或者我基本上必须检查原始回购协议,进行更改,然后从该分支发出拉取请求?这意味着,我会有效地进行两次更改——一次是针对我的本地分支,一次是在我发出拉取请求的分支中。有没有办法进行一次更改,并将它们应用到两个地方,即使分叉在原始回购之前?

我尝试了第一个版本,但我想这会带来我的叉子的其他变化,我想这是有道理的。

如果您还没有 upstream 的遥控器,您可以使用 git remote add upstream <url> 添加它。这样你的本地仓库就有两个遥控器,origin(fork)和 upstream。使用 git fetch upstream 更新 upstream 的远程分支。

你现在应该从 upstream/master(或者他们的默认分支是什么)分支出去,以摆脱你的 fork 中你不希望在 PR 中的提交。 然后,您可以使用 git cherry-pick 将特定提交从一个分支“转移”到另一个分支。现在可以把这个分支push到origin,在upstream开一个PR。

确保在打开 PR 时检查您所做的更改是否正确