如何在 GitHub 上打开多个请求

当我打开 GitHub上的 撤回请求
所有提交以来,我的最后一个请求和所有新的 将自动添加到此请求

我似乎无法控制哪些提交是添加的,哪些不是。
当我尝试打开另一个 pull 请求时,我得到一个“ Oops! There’s already a pull request”错误。

有没有什么简单的方法可以打开多个 pull 请求,而不必使用命令行?

78923 次浏览

拉请求 基于分支。
打开多次提交的 pull 请求的唯一方法是:

  1. 把它们分离成 他们自己的分支
  2. 从那里打开拉请求。

你实际上可以做到这一点,而不需要创建另一个分支,但它需要一点玩耍。
下面是步骤: < br/>

  1. 确定您想要提取的两个提交范围:
    A-> B-> C-> D-> E (你的/主人)
    假设您想在一个请求中引入 B 和 C,在另一个请求中引入 D & E。
  2. 提出请求。将左侧(“ Base”)设置为提交 A。对于右侧(“ head”) ,输入提交编号 C。
  3. 为你的第一个请求写下描述。
  4. 再做一个请求。对于基数,输入提交编号 C,对于头部,输入 E (你的/主人)。
  5. 写下描述。

在我看来,pull 请求将提交 C 视为一个分支点。

我发现最简单的方法是使用 hub 命令(https://github.com/defunkt/hub)。

从您想要创建请求的主题分支(本例中的“功能”) ,您可以运行:

git pull-request

(记得先推树枝!)

它将在 GitHub 上为“ YOUR _ USER: Feature”打开一个新的 pull 请求。

如果你已经在 GitHub 上创建了一个问题,你甚至可以对现有的问题附加一个请求(这是你在 web UI 上无法做到的) :

$ git pull-request -i 123
[ attached pull request to issue #123 ]

最初创建 pull 请求时,如果为新的 pull 请求打开两个单独的表单,只要它们指向要合并的不同分支,就可以创建它们。例如,我可以提出两个单独的请求,一个请求合并为 master,另一个请求合并为 test。

我是 Git 和 GitHub 的新手,遇到了与 OP 相同的问题。

我已经找到了一个解决方案,可能在 OP 时还没有。

情境: 您有3个更改,您希望每个更改都是基于前一个更改构建的,并且每个更改都有自己的拉请求(PR)。

问题: 当您创建第一个 PR 并试图将开发拉入主 PR 时,一切看起来都很好,但是当您为第二个 PR 进行更改并合并它们(使用同一个分支)之后,所有的更改都在同一个 PR 中。

迷你解决方案: 创建一个新的分支

git branch mini_change_2
git checkout mini_change_2

现在,您将代码推送到 GitHub 并创建 PR,但是它默认为 Pull from mini _ change _ 2 to master,除了 master 还没有第一个 PR 的更改,因此它包含了来自 PR1和 PR2的所有更改。

最佳解决方案: 在 PR2中指定要合并到的分支。

在创建第二个 PR 时不要仅仅接受默认值,比如说你要拉 mini _ change _ 2进行开发,这只会显示 mini _ change _ 2中的更改

现在创建一个新的分支 mini _ change _ 3,并将其 PR 为 mini _ change _ 3。

一旦你开始合并它们,问题就来了,但那是另一回事。

您可以通过为您的工作创建单独的分支来创建拉请求(PR)。

例如:

  1. 您结帐从一个分行的主人进入一个分行的工作-1。

  2. 您在分支 work-1中进行了一些提交,分别为 work-1-commit-1和 work-1-commit-2

  3. 现在,您创建一个从工作1到主人的公关。 您的代码可以通过查看公关文件的更改来进行审查。

  4. 现在,对于进一步的工作,您将从分支工作 -1检出到新的分支工作 -2

  5. 您在分支 work-2中进行了一些提交,分别为 work-2-commit-1和 work-2-commit-2

  6. 现在创建一个从 work-2到 work-1的 PR。 您的代码可以通过查看公关文件的更改来进行审查。

在这里,文件更改将只包含您之后编写的新代码 工作1-承诺2。

今天刚发现了这个,如果你不是在叉子上工作的话:

  1. 去你在 GitHub 的分支
  2. 点击“比较”按钮
  3. 更改基分支以进行比较
  4. 点击“创建拉请求”
  5. ???
  6. 利润

如果您转到存储库页面,单击“拉请求”,那里有一个“ New Pull request”按钮,您可以使用它在任意两个分支之间创建拉请求。

这对于必须合并到主分支和开发分支的修补程序非常有用(在不同时间,取决于您如何部署系统)