git - 如何在接受任何一个之前将第二个 pull 请求堆叠在现有 pull 请求之上?

标签 git github

我想向 repo 所有者提供两个不同的 pull 请求,第二个基于第一个。

我有一个现有的 pull 请求正在等待一个 repo (我不拥有)。

我想根据我现有的 pull 请求进行进一步更改。

master -> A -> B

我根据用于 A 的分支在我的分支中的 分支上对 B 进行了更改。

git branch -b B A

我已经向上游推送了:

git push --set-upstream origin B

当我尝试通过 github UI 为 B 创建 pull 请求时,它会在单个 pull 请求中为我提供 A 中的更改 + B 中的更改。

如果我从命令行尝试这个:

hub pull-request -b A

它不起作用,因为 A 不是上游存储库中的分支,仅在我的 fork 中。

为了向 repo 所有者呈现两个 pull 请求,一个堆叠在另一个之上,我应该做些什么不同的事情?

最佳答案

It's ok to stack a ton of changes in a single pull request, ettiquette-wise?

如果您的第二个更改完全依赖于第一个更改,那么……是的。

也就是说,您应该首先解决 PR​​ A,这意味着原始存储库的维护者应该评估、接受并 merge 您的第一个 PR。

与此同时,你可以在 A 的基础上为 B 创建一个新分支,并将该分支推送到你的 fork,但在第一个解决之前你不应该创建新的 PR。
特别是如果第一个 PR 被拒绝。

在 OP 的情况下:

I ended up treating all my stacked changes as one pull request and if they want to review sensibly they could click into each commit one by one

当所有这些变化都可以被视为一次重大的新演变时,这是有道理的。
最佳实践建议进行小的增量更改,但在这种情况下,向现有 PR 添加提交(因为实际上没有办法“堆叠 PR”)是推进开发过程的方式。

关于git - 如何在接受任何一个之前将第二个 pull 请求堆叠在现有 pull 请求之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662798/

相关文章:

github - 从 github 模板中获取 PR 号

python - 在主分支 merge 时更改 Python 包版本

github - Jenkins /Github 网络钩子(Hook)

javascript - 使用哪个 wmd-editor 存储库

api - 如何使用github API从github的URL获取主要语言或语言列表?

git - 验证 GitHub "Squash and Merge"提交消息的格式

git branch 几个提交前?

GitHub 远程符号引用/分支别名

git - 使用多个带有 SSH key 的 Github 帐户

git子模块最佳实践