GitHub CLI gh 安装与操作完整指南
gh 是什么
gh 是 GitHub CLI 的简称,GitHub 官方出品的命令行工具。它让开发者直接在终端里操作 GitHub,不需要打开网页,常见能力包括:
- 创建、查看、关闭 issue
- 发起、审查、合并 pull request
- 查看仓库信息、克隆仓库
- 管理 GitHub 认证状态
对命令行工作流的开发者来说,gh 把 GitHub 操作并入终端,配合脚本可以完成批量操作,例如用 gh issue create --body-file 从本地 Markdown 文件创建 issue。
安装
macOS 上推荐用 Homebrew 安装:
brew install gh安装完成后验证:
gh --version其它系统可以从 GitHub CLI 官网下载安装包,Linux 也可用 apt 或 dnf 安装。
登录认证
gh 需要登录一次才能操作你的账号:
gh auth login按提示选择:
- 账号类型选 GitHub.com
- 协议选 HTTPS
- 认证方式选浏览器授权,或粘贴 Personal Access Token
完成登录后检查状态:
gh auth status会显示当前登录的账号名和认证方式。
常用操作
创建 issue
gh issue create --title "标题" --body "问题描述"多行 Markdown 正文用临时文件传递,避免转义问题:
gh issue create --title "标题" --body-file /tmp/issue.md查看 issue
gh issue list
gh issue view 123gh issue view 支持 --json body 查看渲染后的正文,用于验证提交内容是否正确。
管理 PR
gh pr create --title "标题" --body "描述"
gh pr list
gh pr view 456仓库操作
gh repo view
gh repo clone owner/repo
gh repo fork owner/repo结合项目规范的实践
在 tau 项目中,AGENTS.md 约定创建 issue 和 PR 时用临时文件传正文:
gh issue create --title "标题" --body-file /tmp/issue.md不使用带转义换行的 --body 字符串,因为 GitHub 会把字面 \n 渲染成文本而不是换行。正文用 Markdown 标题、空行、列表和反引号组织,创建后可用 gh issue view 123 --json body 验证渲染结果。
常见问题
- 提示没有权限:先
gh auth status确认登录账号,再确认仓库写入权限 - 没有 gh 命令:
brew install gh未执行或 PATH 未生效,重装后重启终端