mcpField
G
GitHub CLI

GitHub CLI

官方精选Agent-ready
cli.github.com开发者工具46.8kgh1 天前更新
代码仓库访问官网

关于 GitHub CLI

GitHub CLI 是官方的命令行工具,让开发者和 Agent 直接从终端管理仓库、创建和审查拉取请求、监控 Actions 工作流。支持认证、脚本编写和扩展,可与编码 Agent 集成以自动化开发工作流。

主要功能

  1. 01创建、查看和合并拉取请求
  2. 02管理议题和代码审查评论
  3. 03监控 Actions 工作流运行状态
  4. 04扩展 CLI 功能实现自定义命令
  5. 05执行 GitHub API 调用

适用场景

  1. 01编码 Agent 自动创建和管理拉取请求
  2. 02开发者从命令行发起代码审查和合并流程
  3. 03自动化 CI/CD 工作流触发和监控
  4. 04脚本化 GitHub 操作集成到开发流程

安装

选择你的系统或包管理器,复制命令到终端运行。

$
brew install gh

安装完成后运行gh --version确认安装成功。

命令示例

常用命令按使用顺序排列。

01
gh auth login
02
gh pr create
03
gh run watch

详细介绍

GitHub CLI

GitHub CLI(也称为 gh CLI)是命令行上的 GitHub。它将拉取请求、议题和其他 GitHub 概念带到终端,让你可以在使用 git 和编写代码的地方直接操作。

重要

GitHub CLI 的 Linux 软件包仓库 PGP 签名密钥轮换将于 2026 年 9 月 5 日生效;遇到软件包安装或更新问题的用户可在公告中找到解决方案。

gh pr status 的屏幕截图

GitHub CLI 支持 GitHub.com、GitHub Enterprise Cloud 和受支持的 GitHub Enterprise Server 版本的用户,并支持 macOS、Windows 和 Linux。

文档

有关安装选项,请参见下文;有关使用说明,请参阅手册。

Agent 技能

编码 Agent 可使用一种Agent 技能来驱动 gh。使用内置的 gh skill 命令安装或更新:

# Install the skill (user scope recommended)
gh skill install cli/cli gh --scope user

# Update the skill after a `gh` release
gh skill update gh

贡献

如果你觉得哪里不太对,或觉得缺少某些功能,请查看贡献页面。其中包含分享反馈、在本地构建工具以及向项目提交拉取请求的说明。

如果你是 GitHub 员工,并有兴趣为 CLI 开发新命令,请查看内部贡献文档

安装

macOS

如需其他 macOS 软件包和安装程序,请参阅社区支持的文档

Linux & Unix

如需其他 Linux & Unix 软件包和安装程序,请参阅社区支持的文档

Windows

如需其他 Windows 软件包和安装程序,请参阅社区支持的文档

从源代码构建

请参阅此处了解如何从源代码构建 GitHub CLI。

GitHub Codespaces

要将 GitHub CLI 添加到 codespace,请在devcontainer 文件中添加以下内容:

"features": {
  "ghcr.io/devcontainers/features/github-cli:1": {}
}
GitHub Actions

GitHub 托管的运行器已预装 GitHub CLI,并每周更新。

如果需要特定版本,GitHub Actions 工作流需要根据上述 macOS、Linux & Unix 或 Windows 说明安装该版本。

有关所有预装工具的信息,请参阅 actions/runner-images

二进制文件验证

从 v2.93.0 开始,gh 的发布版本均作为不可变版本发布。有关更多信息,请参阅不可变版本。

从 2.50.0 版本开始,gh 一直在生成构建来源证明,从而能够通过加密方式验证其来源 GitHub 仓库、git 修订版本以及所用的构建说明。构建来源证明经过签名,并依托公益项目 Sigstore 提供 PKI。

验证已下载版本有两种常见方式,具体取决于是否已安装 gh。如果已安装 gh,验证新版本非常简单:

  • 选项 1:使用已安装的 gh:

    $ gh at verify -R cli/cli gh_2.62.0_macOS_arm64.zip
    Loaded digest sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afc for file://gh_2.62.0_macOS_arm64.zip
    Loaded 1 attestation from GitHub API
    ✓ Verification succeeded!
    
    sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afc was attested by:
    REPO     PREDICATE_TYPE                  WORKFLOW
    cli/cli  https://slsa.dev/provenance/v1  .github/workflows/deployment.yml@refs/heads/trunk
    
  • 选项 2:使用 Sigstore cosign:

    要执行此操作,请下载已下载版本对应的证明,并使用 cosign 验证该版本的真实性:

    $ cosign verify-blob-attestation --bundle cli-cli-attestation-3120304.sigstore.json \
          --new-bundle-format \
          --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
          --certificate-identity="https://github.com/cli/cli/.github/workflows/deployment.yml@refs/heads/trunk" \
          gh_2.62.0_macOS_arm64.zip
    Verified OK
    

与 hub 的比较

多年来,hub 一直是非官方的 GitHub CLI 工具。gh 是一个新项目,旨在帮助我们探索采用截然不同设计的官方 GitHub CLI 工具可以是什么样子。虽然这两个工具都将 GitHub 带到了终端中,但 hub 作为 git 的代理运行,而 gh 是一个独立工具。请查看更详细的说明以了解更多信息。

评论

支持 Markdown