如何在 Github 上将提交拆分为单独的 PR

How to split commits into individual PRs on Github

所以这不是典型的 'just rebase' 问题(至少我不认为)。

我想知道如何在不影响过去提交的情况下创建多个拉取请求。这是我目前的情况:

  1. 我分叉了一个存储库
  2. 我对我本地的 master 进行了更改(我知道这很愚蠢)
  3. 我对更改进行了 PR
  4. 它们已被接受,但在几天内被机器人自动合并

这就是问题所在,我想继续贡献,但同时个人 PR 没有列出我所做的所有旧的(但尚未合并的)提交。我的想法是向上游,rebase 我的 master,然后从那里开始工作(这次是分支机构)。但是 upstream/master 与 master 冲突所以它不允许我这样做。我不敢用当前的原始版本重新设置我的本地 master 的基数,因为我担心它可能 'delete' 我的拉取请求的代码并以某种方式使其无效。

知道如何解决这个问题吗?或者我只需要等待机器人从我的 PR 进行合并,然后从 master 进行变基。

My idea was to get upstream, rebase my master

不要:在您当前的本地 master 上设置一个分支,在那里您有旧的(但尚未合并)提交。

git switch -c mywip master

(wip:进行中)
这使用 new git switch command (Git 2.23+)

然后将master重置为upstream master

git fetch upstream
git switch master
git reset --hard upstream/master

从那里开始,在一个新的分支中,为一个新的未来 PR(基于一个没有列出旧的——但尚未合并的——提交的代码)。