GitHub CLI:终端里搞定 PR 和 Issue 的 5 个命令
【免费下载链接】cliGitHub’s official command line tool项目地址: https://gitcode.com/GitHub_Trending/cli/cli
GitHub CLI(命令名gh)是 GitHub 官方的命令行工具,把 Pull Request、Issue、仓库这些原来在浏览器里的概念搬进了终端。它解决的是一个很具体的问题:以前看一眼 PR、补一条评论,都得在浏览器和终端之间来回切换。卖点很简单——常见的 GitHub 操作都是一行 bash 的事,输出还能直接进管道。
它是什么
GitHub CLI 是 GitHub 官方团队维护的工具,用 Go 编写,macOS、Windows、Linux 都有官方支持。它的命令集和网页端一一对应:pr、issue、repo、release、run,一个业务域一个子命令组,参数名和网页上的字段基本同名。和git的区别很明确:git 管本地版本控制,gh 管 GitHub 平台上的协作侧,两者不是替代而是接力。装好后随时可以用gh help <命令>看任意命令的完整参数和示例。
🚀 装好它
按自己系统常用的方式来,macOS 用 Homebrew,Windows 用 WinGet:
brew install gh # macOS winget install --id GitHub.cli --source winget # Windows装完做一次授权,它会引导你在浏览器里完成登录,token 存进系统钥匙串:
gh auth loginLinux 可以添加官方 apt 源再apt install gh,步骤在 docs/install_linux.md 里写得很细。
⚡ 日常三板斧
gh pr status # 一眼看到:当前分支相关、我创建的、等我 review 的 PR gh pr create # 当前分支直接开 PR,交互式填标题和描述 gh issue list # 列出当前仓库的 Issue,可配 --state 和 --label 过滤另外提一句gh repo clone owner/repo,在非 GitHub 仓库的目录下,它能一步完成克隆,比手敲 git clone 省一步。
📊 看图说话
gh pr list把当前仓库打开的 PR 编号、标题、分支一次列出:
gh issue view 1353展示 Issue 的状态、标签和正文,信息和网页版基本一致:
输出接到管道里时,会自动切成机器可读的纯文本表格,方便脚本处理:
再进一步
列表类命令都支持--json,配jq就能一行完成筛选和导出,这是 CLI 工作流真正的价值所在:
gh issue list --label bug --json number,title,createdAt \ | jq -r '.[] | [.number, .title, .createdAt] | @csv'常用组合可以注册成别名,相当于给自己写 shell 函数,不用背完整参数:
gh alias set my-issues 'issue list --assignee @me --state open' gh alias set review 'pr view {{.arg1}} --web'项目长什么样
cli/ ├── cmd/gh/ # 程序入口 ├── pkg/cmd/ # 全部命令实现,每个子命令组一个目录 ├── api/ # GitHub API 客户端与查询语句 ├── internal/ # 配置、钥匙串等内部工具 └── acceptance/ # 验收测试每个命令都是独立模块,参数、API 调用、输出展示都在自己目录里,根命令只负责装配子命令。想加功能通常就是在 pkg/cmd/ 下加一个目录,整体布局可以看 docs/。
谁适合用
每天要提交、盯 check 和 PR 状态的开发者;经常做 code review、合并、补评论的团队成员;写脚本和 CI、需要结构化输出的自动化场景。想全程在终端管理 GitHub 的话,它就是官方正解。
拿不准值不值得装的话,在你常改的仓库里跑一下gh pr status,十秒就能判断它合不合你的手速。
【免费下载链接】cliGitHub’s official command line tool项目地址: https://gitcode.com/GitHub_Trending/cli/cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考