如何使用新的 github cli 向远程存储库发出拉取请求,而无需推送远程分支?

jar*_*jar 9 github github-cli

我试图弄清楚如何从本地分支(甚至从本地主/主分支)向我的远程存储库创建 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
Run Code Online (Sandbox Code Playgroud)

当地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
Run Code Online (Sandbox Code Playgroud)

整个情况的一般步骤是 -

  1. 提交一些文件并将其从本地 main 推送到远程 main
  2. 创建一个新的本地分支feature,编辑一些内容,提交
  3. 公关
    1. 使用from localbranch--head的争论直接将 PR 到远程,而不需要创建相同的远程分支gh
    2. 使用本地 master 的--head争论而不创建远程分支gh

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

我的gh版本

$ gh version
gh version 1.2.1 (2020-11-11)
Run Code Online (Sandbox Code Playgroud)

注意:我必须完全通过终端/cli 来制作 PR。

Dae*_*ter 5

你不能,你至少应该首先在远程创建一个分支。

在强制介绍了Git 和 GitHub 中的 Pull Request后,我​​将引用以下内容:

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

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

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

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