如何从命令行创建拉取请求?
How to create pull request from command line?
当我完成工作后,我添加、提交并将更改推送到当前分支跟踪的远程分支。所以命令如下
checkout donkey
add .
commit --message
push
现在,我想创建一个拉取请求。无论我请求本地驴子还是远程驴子拉动,对我来说都没有关系。我可以使用 GUI 来执行此操作,但在我看来,使用 CLI 执行该操作更像是专横。
根据 this article,我应该 运行 像这样。
git request-pull donkey remote/donkey
或者也许
git request-pull remote/donkey remote/dev
然而,在尝试了几种不同的组合之后,我都失败了,只得到了一系列错误,暗示命令是正确的,但参数没有意义。
奇怪的是,在谷歌搜索时找不到太多关于创建拉取请求的信息,可能淹没在使用 GUI 的信息中。
拉取请求 是 GitHub、Bitbucket 或其他网络托管服务提供的东西。它不是 Git 本身的一部分。
git request-pull
命令生成 电子邮件 。如果电子邮件消息是您的托管服务提供商为您提供的(或一种)机制来发出 拉取请求 ,这可能会起作用。然而,GitHub 和 Bitbucket 以及其他提供商使用的实际机制并不是基于电子邮件的,因此这没有任何好处。
Kevin Siahaan's answer (deleted since I started typing this) provides links to some CLI tools for manipulating GitHub without using a browser. This adds a set of additional commands, not part of Git itself but usable via the git
front end. 有一个 link 到另一个 Git 集线器特定的 CLI。但这仅适用于 GitHub。您正在使用 Bitbucket。
请参阅 了解一些其他特定于 Bitbucket 的 links。
请注意,如果您使用自己喜欢的任何语言编写自己的工具; Python 可能是一个不错的选择,因为 the requests
library 使得调用 REST 服务器操作变得非常容易,尽管 Go 也很适合包装 Web 操作——您可以将可执行映像放在 [=13= 中的任何位置],将其命名(例如)git-xyzzy
,并将其调用为 git xyzzy
。像这样扩展 Git 有一些小的限制:特别是 git help xyzzy
通常不起作用,除非您以系统提供手册页文档的任何方式安装了手册页文档。但它对于编写新的自定义命令非常有用。
我要把@Maroun 的评论拉到一个答案中以提高可见性。 GitHub 有一个正式发布的从命令行创建拉取请求的解决方案:GitHub CLI.
我使用它的方法是 create a Personal Access Token 并将其传递给 gh auth
以登录到我公司的 GitHub 企业站点,然后创建 PR:
gh auth login --hostname github.my_company.com --with-token < my_token.txt
gh pr create --title "Pull request title" --body "Pull request body"
当我完成工作后,我添加、提交并将更改推送到当前分支跟踪的远程分支。所以命令如下
checkout donkey
add .
commit --message
push
现在,我想创建一个拉取请求。无论我请求本地驴子还是远程驴子拉动,对我来说都没有关系。我可以使用 GUI 来执行此操作,但在我看来,使用 CLI 执行该操作更像是专横。
根据 this article,我应该 运行 像这样。
git request-pull donkey remote/donkey
或者也许
git request-pull remote/donkey remote/dev
然而,在尝试了几种不同的组合之后,我都失败了,只得到了一系列错误,暗示命令是正确的,但参数没有意义。
奇怪的是,在谷歌搜索时找不到太多关于创建拉取请求的信息,可能淹没在使用 GUI 的信息中。
拉取请求 是 GitHub、Bitbucket 或其他网络托管服务提供的东西。它不是 Git 本身的一部分。
git request-pull
命令生成 电子邮件 。如果电子邮件消息是您的托管服务提供商为您提供的(或一种)机制来发出 拉取请求 ,这可能会起作用。然而,GitHub 和 Bitbucket 以及其他提供商使用的实际机制并不是基于电子邮件的,因此这没有任何好处。
Kevin Siahaan's answer (deleted since I started typing this) provides links to some CLI tools for manipulating GitHub without using a browser. This adds a set of additional commands, not part of Git itself but usable via the git
front end.
请参阅
请注意,如果您使用自己喜欢的任何语言编写自己的工具; Python 可能是一个不错的选择,因为 the requests
library 使得调用 REST 服务器操作变得非常容易,尽管 Go 也很适合包装 Web 操作——您可以将可执行映像放在 [=13= 中的任何位置],将其命名(例如)git-xyzzy
,并将其调用为 git xyzzy
。像这样扩展 Git 有一些小的限制:特别是 git help xyzzy
通常不起作用,除非您以系统提供手册页文档的任何方式安装了手册页文档。但它对于编写新的自定义命令非常有用。
我要把@Maroun 的评论拉到一个答案中以提高可见性。 GitHub 有一个正式发布的从命令行创建拉取请求的解决方案:GitHub CLI.
我使用它的方法是 create a Personal Access Token 并将其传递给 gh auth
以登录到我公司的 GitHub 企业站点,然后创建 PR:
gh auth login --hostname github.my_company.com --with-token < my_token.txt
gh pr create --title "Pull request title" --body "Pull request body"