我什么时候可以摘樱桃

When can I cherry-pick

我提出这个场景:

我在上游仓库中有两个分支:

发展

硕士

我的任务是创建两个 pull request,一个针对 develop,一个针对 master。

所以我在本地创建了两个分支:

git checkout -b develop-local
git checkout -b master-local

现在出于某种原因,我在两个本地存储库中手动进行了(相同的)更改,推送到我的来源并为每个创建了拉取请求。

如果我现在需要在已经做出的更改之上在 develop-local 中创建另一个更改,我可以将这个最新的 develop-local 提交挑选到 master-local 吗?

cherry pick 如何确定何时允许 cherry picking?

鉴于您在本地对 develop 所做的额外提交只是一次常规提交(而不是合并提交之类的东西),没有理由不能在这里进行 cherry picking:

# from master (local)
git cherry-pick develop

上面的命令实际上会在 master 之上进行 new 提交,功能上对应于您刚刚在 develop 中进行的 HEAD 提交。您现在可以将本地 master 分支推送到 GitHub,拉取请求应该会自动更新。