跳转到主要内容

发送GitHub拉取请求的命令行工具

项目描述

https://badge.fury.io/py/git-pull-request.svg

git-pull-request是一个命令行工具,可以从您的终端发送GitHub或Pagure的拉取请求。

安装

使用标准的Python安装方法

pip3 install git-pull-request

尽管它可能不如GitHub上最新的代码更新,但Fedora 28+的用户也可以通过软件包管理器DNF直接下载。

sudo dnf install git-pull-request

使用方法

一旦您将提交合并到分支中,只需输入

git pull-request

这将

  1. 如果需要,将上游仓库分叉到您的账户中

  2. 如果需要,将您的分叉仓库添加为名为“github”的远程仓库

  3. 将您的当前分支强制推送到远程仓库

  4. 为您的当前分支创建一个匹配远程仓库分支或默认的master分支的拉取请求。

如果您稍后向您的分支添加更多提交,或需要重新基以编辑提交,您只需运行git pull-request来更新您的拉取请求。git-pull-request会自动检测为您的当前工作分支打开了拉取请求。

工作流程建议

缓存凭据

GitHub 提供了关于使用 git凭据 的良好文档。

完整文档可在 git-scm.com 网站上找到

GitHub

如果您为 GitHub 账户设置了双因素认证,您应该 创建一个个人访问令牌 并请求 repo 权限,然后使用它作为密码。

Pagure 令牌

Pagure 使用 API 密钥,您需要通过访问 您的设置 并请求 叉取项目修改现有项目 ACL 来创建一个。

创建分支

发送拉取请求时,最好从您自己的分支进行。您可以通过以下方式从 master 创建自己的分支:

$ git checkout -b myownbranch --track origin/master

这将检出名为 myownbranch 的新分支,它是 master 的副本。使用 –track 选项确保上游源分支已写入您的 .git/config 文件。这将允许 git-pull-request 知道要将拉取请求发送到哪个分支。

由于这比较长,您可以使用 git 的别名来使其更快。

$ git config --global alias.nb '!git checkout --track $(git config branch.$(git rev-parse --abbrev-ref HEAD).remote)/$(git rev-parse --abbrev-ref HEAD) -b'

这将创建一个 git nb 别名,它将创建一个跟踪当前分支并检出它的新分支。然后您可以使用它如下:

$ git nb foobar
Branch foobar set up to track remote branch master from origin.
Switched to a new branch 'foobar'

通过 git config 进行配置

大多数 git-pull-request 命令行参数都可以存储到您的 git 配置中。

对于特定的仓库,如果您厌倦了使用

$ git pull-request --fork never

您可以使用 git 设置选项并使用不带任何参数的命令

$ git config git-pull-request.fork never
$ git pull-request

您也可以全局设置选项,为所有仓库设置自定义默认值

$ git config --global git-pull-request.fork always
$ git pull-request

与 hub 的区别

包装程序 hub 提供了 hub forkhub pull-request 作为命令行工具,用于叉取和创建拉取请求。

不幸的是,很难将这些工具组合在一个完整的自动化实现中。

例如:如果您需要更新您的拉取请求,没有方法可以识别现有拉取请求,因此调用 hub pull-request 只会打开一个新的拉取请求。

git-pull-request 将所有这些操作封装在一个方便的工具中。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

git-pull-request-6.0.2.tar.gz (25.8 kB 查看哈希值)

上传时间 源代码

构建发行版

git_pull_request-6.0.2-py2.py3-none-any.whl (21.7 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面