GitHub CLI 完整上手:在终端里管理 PR、Issue、Release 与 CI 的 5 个核心命令
【免费下载链接】cliGitHub’s official command line tool项目地址: https://gitcode.com/GitHub_Trending/cli/cli
GitHub CLI(命令gh)是 GitHub 官方推出的命令行工具,把 Pull Request、Issue、Release、Actions 这些原本要点开网页才能做的事搬进了终端。它适合每天和git打交道、又不想反复切换浏览器的开发者和团队。
概念速览:gh 和 hub 有什么不同
hub是很多人的老朋友,它的工作方式是给git命令"打补丁"(比如hub pull-request)。gh则是独立的完整工具,不套在git的语法上,直接对接 GitHub API,功能覆盖 PR、issue、仓库设置、Release、CI 全链路。
- GitHub 官方维护,覆盖 GitHub.com 与 Enterprise,支持 macOS、Windows、Linux
- 交互式向导:参数不确定时,它会在终端里一步步引导你补齐
- 输出自带机器可读格式:
--json配jq即可进脚本和 CI
三步完成的安装与登录步骤
macOS 用 Homebrew、Ubuntu/Debian 用 apt、Windows 用 WinGet,各平台的详细方式见仓库内的 docs/install_macos.md 和 docs/install_linux.md。以 macOS 为例:
brew install gh安装完成后执行gh auth login。按提示选择 GitHub.com、HTTPS 协议,浏览器会弹出授权页,确认成功后 token 就存好了;如果浏览器没自动打开,也可以选"paste manual code"手动粘贴验证码。
验证是否配置成功,在任意一个已关联远程的仓库目录里执行:
gh pr status核心工作流:从 PR 状态到 Issue 查询
看一眼仓库里的 PR 全景
gh pr status会按"当前分支的 PR""仓库里其他人打开的 PR""分配给我评审的 PR"分组输出,编号用绿色标出,状态一目了然:
gh pr list的默认输出:绿色编号是 PR 号,标签和分支名帮助快速分类
最快创建第一个 PR 的方法
gh pr create会把当前分支推送到远程,并进入交互式向导:让你确认 base 分支、填标题(默认取第一条提交信息)、补充描述、选评审人。全部确认后返回 PR 的网页地址,也可以加--web直接打开浏览器。
gh pr create不用刷新网页的 CI 检查结果
PR 提上去后,gh pr checks 1234会拉取全部 check 的运行结果,通过的和失败的分组列出,哪一步挂了直接就能看到,不用再切到浏览器看 Actions 面板。
终端里打开 issue 详情
gh issue view 123在终端直接渲染 issue 的标题、状态、标签、正文和评论列表:
gh issue view的终端输出:状态、标签、正文与评论无需打开浏览器
项目文档里也统一了这类状态符号的视觉规范,方便在不同输出里保持一致:
gh统一的状态标识系统:用颜色和符号快速判断任务状态
要按条件筛选任务,在gh issue list后加过滤参数即可,比如--state open --label bug --assignee @me。
进阶提效:--json 输出与脚本联动
所有查询类命令都支持--json输出结构化数据,管道接jq就能做任意转换。比如把带 bug 标签的 issue 导成 CSV,交给报表脚本:
gh issue list --label bug --json number,title | jq -r '.[] | [.number,.title] | @csv'--json让输出变成结构化数据,方便jq等工具二次处理
GitHub 官方托管的 Actions runner 已经预装了gh,CI 工作流里可以直接用它创建 Release、回复评论或关闭关联 issue,不用每次在流水线里现装工具。个人层面也可以用gh alias set把常用参数串存成短别名,团队共享后每个人敲的命令保持一致。
项目一瞥:Go 语言写的模块化命令树
gh用 Go 编写,入口在 cmd/gh/main.go,根命令负责把参数分发到各个子命令。每个命令是pkg/cmd/下一个独立包,比如gh issue list的全部逻辑就在 pkg/cmd/issue/list/list.go 里,帮助文本也内嵌在源码中。想加新命令,只需建一个新包、返回一个 Cobra 命令、再注册进命令树;对 GitHub API 的查询则统一封装在 api/ 包里。项目结构与扩展方式在 docs/project-layout.md 里有完整说明。
选型建议
gh适合高频操作 GitHub 的开发者、需要在脚本和 CI 里稳定消费 GitHub 数据的团队,以及想统一管理多台机器的工程师。如果你只是每月开一次网页看看仓库,或者习惯 hub 那种git前缀的命令风格,它的收益就没那么明显。
【免费下载链接】cliGitHub’s official command line tool项目地址: https://gitcode.com/GitHub_Trending/cli/cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考