5

我正在尝试弄清楚如何从本地分支(甚至从本地主/主分支)对我的远程存储库进行 PR。但是,无论我做什么,我都会收到以下错误:

从本地main尝试:

(master)$ gh pr create --title "Adding readme" --body "Testing pr from cli" --head armsp:feature

Creating pull request for armsp:feature into master in armsp/----

pull request create failed: GraphQL error: Head sha can't be blank, Base sha can't be blank, No commits between master and feature, Head ref must be a branch

本地feature分支尝试:

(feature)$ gh pr create --title "Adding readme" --body "Testing pr from cli" --head armsp:feature

Creating pull request for armsp:feature into master in armsp/----

pull request create failed: GraphQL error: Head sha can't be blank, Base sha can't be blank, No commits between master and feature, Head ref must be a branch

整个情况的一般步骤是 -

  1. 将一些文件从本地 main 提交并推送到远程 main
  2. 创建一个新的本地分支feature,编辑一些东西,提交
  3. 公关
    1. 使用from local branch 的--headargumentgh将 PR 直接发送到 remote 而无需创建相同的远程分支
    2. 使用来自本地 master 的--head争论gh而不创建远程分支

我在github cli repo上看到了几个问题,它们似乎已在一个版本中得到修复,但不幸的是它仍然对我不起作用。

我的gh版本

$ gh version
gh version 1.2.1 (2020-11-11)

注意:我必须完全通过终端/cli 进行 PR。

4

1 回答 1

1

你不能,你至少应该先在遥控器上创建一个分支。

在强制性介绍Git 与 GitHub 中的 Pull Request 是什么之后,我将引用以下内容:

拉取请求可让您告诉其他人您已推送到 GitHub 上存储库中的分支的更改。打开拉取请求后,您可以与协作者讨论和审查潜在的更改,并在您的更改合并到基础分支之前添加后续提交。来源

GitHub PR 期望远程 GitHub 服务器上有一些代码,至少是一个分支。

创建一个拉取请求以提议和协作对存储库的更改。这些更改是在一个分支中提出的,以确保默认分支仅包含已完成和批准的工作。来源

您希望在远程打开一个不存在的分支的拉取请求。先创建分支,然后重试。请记住,您将无法让远程自动从本地获取或拉取内容到远程,因此最终您必须推送它。

于 2020-11-16T10:10:58.740 回答