gh (GitHub CLI)

gh (GitHub CLI)

GitHub 官方命令行工具,在终端处理 issue、PR 与仓库

核心功能

把 pull request、issue、仓库、Actions 等 GitHub 概念搬进终端,和 git 与代码并肩使用,减少来回切换浏览器的上下文成本。支持 GitHub.com、GitHub Enterprise Cloud 与 GitHub Enterprise Server 2.20+。

功能亮点

终端内处理 PR

gh pr list、gh pr create 等命令让 PR 流程无需切换到浏览器

一条命令完成认证

gh auth login 交互式登录,可选择自动保存 Git 的 HTTPS 凭据

直连 GitHub API

gh api 可请求任意接口,把 GitHub 数据接入自己的脚本流程

别名与扩展机制

gh alias set 定义常用快捷命令,gh extension 安装社区扩展命令

适用场景

• 不离开终端完成 pull request 的创建、查看与评审跟进
• 按作者、标签、指派人批量筛选与查看 issue 和 PR
• 在脚本或 CI 中调用 gh api、gh run 做自动化与运维操作

安装配置

bash
macOS / Linux (Homebrew):
brew install gh

Debian / Ubuntu(官方源):
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \
  && sudo mkdir -p -m 755 /etc/apt/keyrings \
  && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
  && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
  && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
  && sudo mkdir -p -m 755 /etc/apt/sources.list.d \
  && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
  && sudo apt update \
  && sudo apt install gh -y

Fedora / RHEL / CentOS(DNF5):
sudo dnf install dnf5-plugins
sudo dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh

Arch Linux:
sudo pacman -S github-cli

Windows (WinGet):
winget install --id GitHub.cli --source winget

使用方法

bash
gh auth login                          # 登录并完成认证
gh status                              # 查看跨仓库的当前工作状态
gh repo clone OWNER/REPO               # 克隆仓库
gh repo view OWNER/REPO --web          # 在浏览器中打开仓库
gh issue list --assignee "@me"         # 列出指派给自己的 issue
gh pr list --author "@me"              # 列出自己创建的 pull request
gh pr create                           # 交互式创建 pull request
gh search prs --review-requested=@me --state=open   # 待自己评审的 PR
gh alias set prd "pr create --draft"   # 定义命令别名

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标gh (GitHub CLI)
价格免费
开源
上手难度入门

相关工具

同类工具

优点

  • GitHub 官方维护,支持 GitHub.com、GitHub Enterprise Cloud 与 GHES 2.20+
  • 登录时可自动接管 Git 的 HTTPS 凭据,无需再单独配置凭据管理器
  • 官方提供 macOS / Linux / Windows 安装包与预编译二进制,GitHub Actions 托管运行器已预装
  • 支持别名与扩展机制,可按团队习惯扩展自定义命令

缺点

  • 必须先认证并联网使用,离线环境下无法工作
  • 只服务于 GitHub 平台,不能用于 GitLab 等其他代码托管服务
  • Linux 官方源安装步骤较长,需要手动导入 keyring 并添加软件源