GitHub CLI 核心命令使用指南与速查手册
工具简介:
gh是 GitHub 官方提供的命令行工具,可直接在终端中完成仓库、Issue、PR、Actions 等操作。
📌 快速速查表(Cheat Sheet)
| 操作场景 | 核心命令 | 说明 |
|---|---|---|
| 登录认证 | gh auth login / gh auth status |
登录账号 / 查看登录状态 |
| 克隆仓库 | gh repo clone <owner>/<repo> |
快捷克隆仓库 |
| 新建仓库 | gh repo create <name> --public |
创建并推送到 GitHub |
| 在网页打开 | gh repo view --web / gh pr view 12 --web |
在浏览器中打开对应页面 |
| 创建 Issue | gh issue create -t "标题" -b "内容" |
快速新建 Issue |
| 创建 PR | gh pr create --base main --title "..." |
发起 Pull Request |
| 检出 PR 分支 | gh pr checkout <pr_id> |
本地直接切换到指定 PR |
| 合并 PR | gh pr merge <pr_id> --squash |
压缩并合并 PR |
| 查看 CI 运行 | gh run list / gh run view <id> --log |
查看 Actions 运行日志 |
| 查看帮助 | gh help / gh <子命令> --help |
查看详细帮助文档 |
一、安装与认证
1. 安装方式
- **macOS (Homebrew)**:
brew install gh - **Windows (Scoop / Chocolatey)**:
scoop install gh # 或 choco install gh - **Linux (Debian/Ubuntu/CentOS)**:
# Ubuntu / Debian sudo apt update && sudo apt install gh
2. 账号登录认证
# 1. 发起登录(根据提示选择 GitHub.com 还是 Enterprise,选择浏览器授权或 Token)
gh auth login
# 2. 检查当前登录状态与当前账号
gh auth status
二、仓库管理(gh repo)
1. 克隆仓库
gh repo clone owner/repo
# 示例:克隆官方 gh 仓库
gh repo clone cli/cli
2. 创建新仓库
gh repo create my-project \
--public \
--description "我的项目描述"
参数提示:支持
--public(公开)、--private(私有)或--internal(组织内部)。
3. 查看仓库信息
# 在终端中查看当前或目标仓库信息
gh repo view [owner/]repo
# 在默认浏览器中直接打开该仓库主页
gh repo view [owner/]repo --web
4. Fork 仓库并自动克隆到本地
gh repo fork owner/repo --clone=true
三、Issue 管理(gh issue)
1. 查看 Issue 列表
# 查看所有 open 状态的 bug 标签 Issue
gh issue list --state open --label bug
2. 新建 Issue
gh issue create \
--title "Bug: 登录失败" \
--body "在输入用户名后,界面无响应。\n重现步骤:..." \
--label bug,help-wanted
3. 查看指定 Issue 详情
# 浏览器打开
gh issue view 123 --web
# 以 JSON 格式输出(方便脚本或 jq 处理)
gh issue view 123 --json title,body,state
四、Pull Request 管理(gh pr)
1. 列出 PR
# 筛选状态:open / closed / merged
gh pr list --state open
2. 创建 PR
gh pr create \
--base main \
--head feature-branch \
--title "添加登陆功能" \
--body "实现了 OAuth2 登录流程"
3. 切换与合并 PR
# 快速拉取并切换到该 PR 对应的分支进行本地测试
gh pr checkout 45
# 审查通过后合并 PR(可选 --merge、--squash、--rebase)
gh pr merge 45 --merge
# 或使用 squash 压缩提交合并
gh pr merge 45 --squash
五、Gist 与 Actions 管理
1. Gist 代码片段管理
# 列出自己的所有 Gist
gh gist list
# 创建新的 Gist 片段
gh gist create file1.txt file2.txt \
--public \
--desc "一些常用代码片段"
2. GitHub Actions 工作流监控
# 查看最近的工作流运行记录
gh run list
# 查看指定运行 ID 的详细构建日志
gh run view <run-id> --log
# 重新触发运行失败的 Workflow
gh run rerun <run-id>
六、进阶技巧:别名与插件
1. 安装社区扩展(Extension)
例如安装非常实用的终端 TUI 仪表盘 gh-dash:
# 安装扩展
gh extension install dlvhdr/gh-dash
# 启动仪表盘
gh dash
2. 自定义命令别名(Aliases)
编辑配置文件 ~/.config/gh/config.yml,在其中添加:
aliases:
co: pr checkout
pc: pr create
配置后可直接使用简写:
gh co 45 # 等同于 gh pr checkout 45
3. 命令帮助查询
gh help # 查看完整顶层命令列表
gh <category> --help # 查看子命令详情(如 gh pr --help)
七、端到端工作流实战演示
从本地开发到 PR 合并的标准命令行全流程:
# 1. 克隆仓库并创建特性分支
gh repo clone myname/myrepo
cd myrepo
git checkout -b feature/login
# 2. 编码、本地提交并推送
git add .
git commit -m "feat: 实现登录模块"
git push --set-upstream origin feature/login
# 3. 命令行发起 Pull Request
gh pr create \
--base main \
--title "feat: 登录模块" \
--body "实现了用户登录和会话管理功能"
# 4. Review 确认无误后直接在终端合并
gh pr merge --squash