GitHub CLI (gh) 完整中文文档与使用指南

创建人:chjs

创建时间:2026.04.02

最近使用了github cli,遂使用大模型将其文档翻译整理了一下。

一、快速入门与安装配置

GitHub CLI (简称 gh) 是 GitHub 官方提供的命令行工具,它允许您直接在终端中与 GitHub 交互,管理仓库、议题、拉取请求等工作,从而显著提升工作效率,减少在浏览器和终端之间切换的上下文成本。本章将指导您完成从安装到首次登录的完整设置流程。

🔧 安装 GitHub CLI

GitHub CLI 支持所有主流操作系统。请根据您的系统选择下方推荐的官方安装方法。

重要:以下所有安装方法均来源于官方文档,请根据您的操作系统参考执行。

操作系统 推荐安装方法及命令 补充说明
Windows 使用 WinGet (推荐) winget install --id GitHub.cli 官方发布页下载 .msi 安装包双击运行亦可。
macOS 使用 Homebrew (推荐) brew install gh 也可通过 MacPorts、Conda 或下载 .pkg 安装包安装。
Linux (Ubuntu/Debian) 使用官方 APT 仓库 ```bash curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main”
Linux (其他发行版) 使用系统包管理器 Fedora: sudo dnf install gh CentOS/RHEL (需EPEL): sudo yum install gh

安装完成后,在终端中运行以下命令验证安装是否成功。如果安装正确,将显示 GitHub CLI 的版本号。

gh --version

🔐 身份认证与首次登录 (gh auth)

安装 gh 后,必须进行身份验证才能使用其完整的远程操作功能。这是通过 gh auth login 命令完成的交互式流程。

登录流程详细步骤

  1. 启动登录:在终端运行以下命令,进入交互式引导流程。
  1. 选择 GitHub 主机:根据提示选择要登录的平台。
    • 对于公开的 GitHub.com,选择 GitHub.com。
    • 如果您使用 GitHub Enterprise Server,选择 Other,然后输入企业实例的主机名(例如 octocorp.ghe.com)。
  2. 选择 Git 协议(关键步骤)
    • HTTPS (推荐):这是更简单的选项。如果您同意,GitHub CLI 可以自动存储您的 Git 凭据。这意味着之后使用 git push、git pull 等原生 Git 命令时,无需单独设置凭据管理器或 SSH 密钥。
    • SSH:如果您已配置 SSH 密钥并偏好使用它,可以选择此选项。
  3. 选择认证方式
    • Login with a web browser (推荐):这是最安全便捷的方式。CLI 会生成一个一次性代码。
      1. 终端显示一次性代码(如 0XXC-09XC)并提示按 Enter 键。
      2. 按 Enter 键,您的默认浏览器将自动打开 GitHub 的设备授权页面。
      3. 在浏览器中输入终端显示的一次性代码。
      4. 跟随浏览器提示完成对“GitHub CLI”应用的授权。
    • Paste an authentication token:如果您希望使用个人访问令牌 (PAT),可以选择此方式。对应的非交互式命令是 gh auth login --with-token 。
  4. 登录成功:浏览器授权成功后,返回终端,您将看到如下确认信息:
    • ✓ Authentication complete.
    • ✓ Configured git protocol
    • ✓ Logged in as <您的用户名>

验证与管理登录状态

📌 重要注意事项

完成以上安装验证身份认证步骤后,您的 GitHub CLI 就已准备就绪。您可以立即开始使用 gh repo clone、gh issue create、gh pr create 等核心命令来高效管理工作流。接下来的章节将详细介绍这些功能的用法。

二、仓库管理(gh repo)

gh repo 是 GitHub CLI 最核心的子命令集之一,它让你无需离开终端即可完成仓库的完整生命周期管理。本章将详细介绍其所有子命令,助你将前序步骤的认证成果直接应用于实战。

1. gh repo clone - 🧬 智能克隆

此命令在原生 git clone 基础上进行了智能化封装,能自动处理身份认证和协议选择,且克隆 Fork 仓库时会自动添加上游(upstream)远程引用,极大简化了流程。

基本语法

gh repo clone [/] [] [flags]

常用示例

2. gh repo create - 🆕 多场景创建

这是功能最为强大的命令,完美覆盖了从零创建、基于模板生成和一键推送本地项目三大核心场景。

基本语法

gh repo create [] [flags]

核心场景与示例

场景一:从零开始创建(交互式/非交互式)

场景二:基于模板创建
快速使用已有仓库作为模板来初始化新项目。

gh repo create my-app --template owner/template-repo

场景三:推送现有本地项目(革命性功能)
此功能将传统的“网页创建 -> 添加远程 -> 首次推送”三步流程合并为一步,极大提升效率。

在已初始化的本地 Git 项目根目录执行

gh repo create my-project --source=. --public --push

常用创建选项

3. gh repo view - 👁️ 快速查看

用于在终端或浏览器中快速获取仓库信息。

常用示例

4. gh repo fork - 🍴 便捷分叉

轻松为任何公开仓库创建个人 Fork,是参与开源贡献的标准第一步。

常用示例

5. gh repo list - 📜 清单列表

列出你个人账户或所属组织下的所有仓库。

常用示例

列出你个人账户下的仓库

gh repo list

列出指定组织的仓库

gh repo list org-name

使用JSON输出,并限制数量、筛选字段

gh repo list --limit 10 --json name,isPrivate,pushedAt

6. gh repo edit - ✏️ 编辑属性

修改仓库的元数据信息,如描述、主页 URL 等。

通过掌握 gh repo 这一系列命令,你几乎可以完全在终端内完成仓库的克隆、创建、查看、分叉和列表管理,将 GitHub 的仓库操作无缝集成到你的本地工作流中,显著提升效率。对于任何子命令,随时可以使用 gh repo --help 获取最详尽的参数说明。

三、议题管理(gh issue)

继掌握了仓库的创建、克隆与查看后,下一个核心协作环节便是议题(Issue) 的管理。gh issue 命令集允许你在终端中完成议题的创建、查看、列表、评论与状态跟踪,将问题追踪和讨论完全融入你的命令行工作流。

1. 创建议题:gh issue create

直接在当前仓库或指定仓库中创建新的议题,支持丰富的元数据设置。

2. 查看与列表议题:gh issue list / gh issue view

快速浏览和筛选议题,或在终端/浏览器中查看详情。

参数 用途 示例
-s, --state 按状态筛选:open, closed, all --state all
-a, --assignee 按受理人筛选 --assignee "n8ebel"
-l, --label 按标签筛选 --label "bug"
-A, --author 按作者筛选 --author monalisa
-L, --limit 限制输出数量(默认30) --limit 50
-R, --repo 对指定仓库操作 --repo owner/repo

3. 状态概览:gh issue status

快速查看与你相关的议题摘要,例如分配给你、由你创建或提及你的议题,帮你掌握待办事项。

gh issue status

4. 议题互动操作:评论、关闭与重开

对议题进行跟进和生命周期管理。

5. 高级用法:脚本集成与效率提升

将 gh issue 无缝集成到自动化脚本和个性化工作流中。

通过 gh issue 命令集,你可以将议题跟踪这一核心协作活动深度绑定到终端环境,减少上下文切换,实现从编码、问题反馈到讨论解决的全流程命令行闭环。

四、拉取请求管理(gh pr)

承接前序的仓库管理与议题追踪,代码协作的核心环节——拉取请求(Pull Request) ——将通过 gh pr 命令集在终端内完成全程管理。该命令覆盖了从创建、列表查看、代码审查到合并的完整生命周期,极大简化了基于分支的协作流程。

🔍 核心子命令全景

gh pr 提供了管理拉取请求生命周期所需的全部工具,其主要子命令包括:

命令 核心功能 关键场景
list 列出并筛选拉取请求 查看当前开放的PR、需要你审查的PR
create 创建新的拉取请求 推送分支后,发起代码合并请求
view 查看PR详情 在终端或浏览器中检查PR描述、状态
checkout 检出PR到本地 将他人的PR分支拉到本地进行测试或审查
merge 合并拉取请求 在审查通过后,将更改合并入目标分支
status 查看相关PR状态 快速概览由你创建或等待你处理的PR
diff 查看代码差异 审查PR引入的具体代码更改

📋 列表与筛选:gh pr list

此命令用于列出当前仓库的拉取请求,支持丰富的过滤条件,便于快速定位。

🚀 创建与发起:gh pr create

这是最常用的命令之一,用于为当前分支或指定分支创建拉取请求。支持直接定义标题、正文、审查者等所有属性。

👁️ 查看与审查:gh pr view、diff 与 checkout

这三个命令构成了本地代码审查的核心工作流。

  1. gh pr view: 查看特定PR的详细信息。
    • 示例:
    • 在终端查看编号为123的PR详情

      gh pr view 123

      在浏览器中打开该PR进行查看

      gh pr view 123 --web
  2. gh pr diff: 查看指定PR引入的所有代码更改(diff)。
    • 示例:
    • 查看PR #789的代码差异

      gh pr diff 789
  3. gh pr checkout将指定PR对应的远程分支拉取到本地并切换过去,便于进行本地运行测试或深度代码审查。
    • 示例:
    • 检出编号为42的PR到本地(会创建一个对应的本地分支)

      gh pr checkout 42

✅ 合并与清理:gh pr merge

在PR通过审查后,使用此命令将其合并到目标分支。

📊 状态概览:gh pr status

快速查看与你相关的PR摘要,通常分为“你创建的”、“等待你审查的”等类别,是每日站会的利器。

⚙️ 进阶技巧与工作流集成

掌握基础命令后,以下技巧能进一步提升效率:

  1. 典型Git工作流集成: 在本地完成功能开发、提交并推送到远程分支后,直接使用 gh pr create 发起合并请求,形成无缝衔接的终端协作流。
  2. 利用别名简化操作: 通过 gh alias set 为常用命令设置快捷方式。
  1. 脚本化与自动化: 结合 --json 参数输出结构化数据,利用 jq 等工具编写脚本,实现自动检查PR状态、批量合并等流程。
  1. 随时获取帮助: 任何子命令均可通过 --help 标志查看最详细、最新的官方参数说明。

通过 gh pr 命令集,你可以将拉取请求的创建、跟踪、审查和合并完全嵌入到终端工作流中,显著减少上下文切换,提升代码协作的效率与流畅度。

五、GitHub Actions 集成(gh workflow / gh run / gh cache)

借助 gh,你可以高效地在命令行中管理 GitHub Actions,包括触发、监控工作流,管理缓存,甚至在工作流内部使用 gh 来操作 GitHub,构建强大的自动化流程。

gh workflow: 管理工作流定义

gh workflow 命令用于管理 GitHub Actions 的工作流定义,例如查看、启用、禁用以及最重要的手动触发工作流。

gh workflow list: 列出所有工作流

用于查看仓库中定义的工作流文件及其状态。

gh workflow view: 查看工作流详情

查看指定工作流的 YAML 文件内容或最近运行状态。

gh workflow run: 手动触发工作流运行

这是最强大和常用的子命令,可使用命令行参数直接触发配置了 workflow_dispatch 事件的工作流。它可以替代 Web 界面上的 “Run workflow” 按钮,并支持参数化和脚本化调用。

启用与禁用

gh run: 管理工作流运行实例

触发工作流后,gh run 命令组用于监控、检查和重新运行这些具体的执行实例。它涵盖了工作流运行的整个生命周期。

gh run list: 列出历史运行记录

查看仓库中最近的工作流执行历史,并支持强大的过滤。

gh run view: 查看运行详情与日志

深入查看某次特定运行的详细信息,包括每个作业和步骤的状态、日志输出。

gh run rerun: 重新运行

重新触发已经执行过的工作流或其中特定的作业。这是调试失败 CI 的常用操作。

gh run watch: 实时监控运行进度

在终端中实时流式输出(tail)某次工作流运行的日志。这让你无需刷新网页即可观察 CI/CD 进度。

监控最近一次运行的实时日志(不指定 ID,CLI 提供交互菜单)

gh run watch

监控特定运行的进度

gh run watch 123456

gh run download: 下载构件 (Artifacts)

用于下载工作流运行生成的产物。

下载某次运行中名为 “coverage-report” 的构件

gh run download 123456 -n coverage-report

gh cache: 管理 Actions 依赖缓存

GitHub Actions 缓存用于存储依赖项以加速工作流运行。gh cache 命令允许你直接从命令行查看和管理这些缓存条目,是自动化缓存维护、防止存储配额被占满的关键工具。

gh cache list: 列出与筛选缓存

列出仓库中的缓存条目,并提供丰富的过滤、排序和输出格式化选项。这是核心的管理命令。

选项 描述 默认值
按缓存键(key)的前缀进行过滤 -
要获取的最大缓存数量 30
按 Git 引用(ref)过滤(如 refs/heads/main) -
对缓存进行排序的字段:created_at, last_accessed_at 或 size_in_bytes "last_accessed_at"
排序顺序:asc(升序)或 desc(降序) "desc"
使用指定的字段输出 JSON 格式的结果(如 id,key,sizeInBytes) -
使用 jq 表达式过滤 JSON 输出 -

gh cache delete: 删除缓存

删除特定的缓存条目。通常与 gh cache list 结合,用于自动化清理脚本,例如在拉取请求关闭后移除其相关缓存。

在 Actions 工作流中使用 gh

GitHub CLI (gh) 本身已预装在 GitHub 托管的运行器上。这意味着你可以在 Actions 工作流的步骤中直接使用 gh 命令来操作 GitHub,实现更高级的自动化。

通过 gh workflow、gh run 和 gh cache 命令组,你可以构建一个完全在命令行中闭环的 CI/CD 操作与监控环境,实现从触发、监控到资源管理的全链路高效管理。

六、扩展与高级配置(gh extension / gh config / gh alias)

熟练运用 GitHub CLI 的核心命令后,你可以通过本章介绍的高级功能,将 gh 彻底定制为你的专属效率工具。本节将系统讲解如何管理第三方扩展 (gh extension)、调整 CLI 的全局行为 (gh config),以及创建和管理命令别名 (gh alias)。

安装与管理第三方扩展

gh extension 命令为你打开了 GitHub CLI 的生态世界,允许你安装、使用和创建社区开发的扩展,无缝添加新功能。

安装扩展:每个扩展都是一个 GitHub 仓库,其名称必须以 gh- 开头(例如 gh-whoami)。你可以从仓库简写或完整 URL 安装。

从 GitHub.com 安装扩展

gh extension install dlvhdr/gh-dash

使用完整 URL 安装(适用于从 GitHub Enterprise Server 安装 GitHub.com 的扩展)

gh extension install https://github.com/octocat/gh-whoami

安装本地正在开发的扩展

cd ~/projects/gh-my-extension
gh extension install .

注意:如果已安装同名扩展,安装新来源的同名扩展会失败,需先卸载。

管理已安装的扩展

创建新扩展:gh 提供了便捷的脚手架命令。

创建解释型扩展(如 Bash 脚本)

gh extension create hello

创建基于 Go 的预编译扩展(包含 Go 脚手架和工作流配置)

gh extension create --precompiled=go hello-go

创建基于其他语言(如 Rust)的预编译扩展(包含工作流脚手架)

gh extension create --precompiled=other hello-rust

安装扩展后,即可像使用内置命令一样运行它:gh <扩展名>。所有传递给 gh <扩展名> 的参数都会传递给扩展脚本。

精细调整 CLI 全局行为

gh config 命令用于查看和修改 GitHub CLI 的本地配置,所有设置存储在用户主目录下的配置文件(如 ~/.config/gh/config.yml)中。

查看配置:使用 gh config get 查询指定配置项的当前值。

查看当前设置的默认文本编辑器

gh config get editor

查看 Git 操作默认使用的协议

gh config get git_protocol

修改配置:使用 gh config set 更新配置,这是定制工作流的关键。

设置默认编辑器为 Visual Studio Code,并等待编辑完成

gh config set editor "code -w"

设置 Git 操作用 HTTPS 协议(便于自动存储凭据,简化 git push/pull)

gh config set git_protocol https

除了 editor 和 git_protocol,你还可以配置 prompt(交互式提示)、pager(分页程序)等选项。

创建与管理命令别名

gh alias 命令允许你为常用或复杂的命令序列创建简短易记的快捷方式,这是提升日常操作效率最直接的方法。

设置别名:使用 gh alias set 定义新别名。

为常用操作设置短别名

gh alias set co 'pr checkout'
gh alias set pc 'pr create'

为带复杂参数的查询设置别名(回顾第三章的例子)

gh alias set myissues 'issue list --assignee=@me --state=open'

为创建草稿 PR 设置专门别名(回顾第四章的例子)

gh alias set prd "pr create --draft"

设置后,gh co 123 等同于 gh pr checkout 123,gh prd 则直接启动创建草稿 PR 的流程。

管理别名

手动编辑配置:除了命令行,你还可以直接编辑配置文件来管理别名,便于批量操作或备份。
配置文件通常位于 ~/.config/gh/config.yml。在 aliases: 节点下直接添加或修改即可:

aliases:
co: pr checkout
pc: pr create
prd: pr create --draft

通过合理组合使用扩展、配置和别名,你可以将 GitHub CLI 打造成一个高度个性化、高效无缝的命令行工作环境,真正实现“将 GitHub 带到命令行”的愿景。

七、通用 API 调用(gh api)

经过前面对仓库、议题、PR 和 Actions 等具体功能的学习,你已掌握了 gh 面向特定场景的命令。现在,让我们进入最通用、最强大的环节:gh api。它允许你直接向 GitHub 的 REST API 或 GraphQL API 发送经过身份验证的请求,实现任何 gh 原生命令未覆盖或需要高度自定义的自动化操作。

gh api 的设计哲学是 “终端优先、无缝集成”。它自动处理认证(复用 gh auth login 的令牌),支持智能参数传递,并能与 jq 等工具完美结合,让你将 GitHub 的完整能力深度嵌入命令行工作流和自动化脚本中。

🧠 核心语法与自动替换

其基本语法极为简洁:

gh api [flags]

⚙️ 核心参数详解

gh api 提供了丰富的标志来精细控制请求,下表是核心参数的快速参考:

选项 缩写 描述与典型用途
--method -X 指定 HTTP 请求方法(GET, POST, PATCH 等)。
--field -F 智能参数传递:传递 key=value,支持 JSON 类型转换(如 true 转布尔值)、读取文件(@filename)和自动替换占位符。
--raw-field -f 传递字符串参数 key=value。添加此参数会自动将请求方法切换为 POST。
--header -H 添加自定义 HTTP 请求头,如控制返回格式。
--jq -q 响应处理利器:使用 jq 查询语法从 JSON 响应中提取和筛选数据。
--paginate 自动请求并合并所有分页的结果,用于处理列表数据。
--slurp 与 --paginate 同用,将所有分页结果包装到一个 JSON 数组中输出。
--input 从文件或标准输入(-)读取内容作为请求主体。
--template -t 使用 Go 模板语法自定义格式化 JSON 输出,可添加颜色。
--verbose 输出完整的 HTTP 请求和响应细节,用于调试。
--silent 不打印响应主体,仅执行请求。
--hostname 指定 GitHub 主机名,用于 GitHub Enterprise Server。
--cache 缓存响应,格式如 1h。

🚀 基础使用示例

以下示例直接基于现有知识,展示常见场景。

  1. 获取数据(GET): 列出当前仓库的所有发布(Releases)。
  1. 创建资源(POST): 在 Issues #123 下发表评论。
  1. 发送文件内容: 创建一个包含本地文件内容的 Gist。
  1. 使用 jq 过滤: 仅获取当前仓库所有 Issue 的标题。

🧰 高级用法实战

掌握了基础后,这些技巧能将你的自动化提升到新的层次。

1. 复杂参数传递与类型转换

gh api 的参数传递非常强大。你可以传递数组:

gh api --method PATCH /orgs/{org}/properties/schema
-F 'properties[][property_name]=environment'
-F 'properties[][default_value]=production'
-F 'properties[][allowed_values][]=staging'
-F 'properties[][allowed_values][]=production'

2. 高效处理分页数据

对于可能返回大量结果的列表型 API(如 user/repos),使用 --paginate 自动获取所有页面。

获取用户的所有仓库(自动处理分页)

gh api user/repos --paginate

如果需要对所有数据进行整体分析,结合 --slurp 将所有页结果合并为一个 JSON 数组,方便 jq 处理。

3. 执行 GraphQL 查询

gh api 同样完美支持更灵活的 GraphQL API。

gh api graphql -F owner='{owner}' -F name='{repo}' -f query='
query($name: String!, $owner: String!) {
repository(owner: $owner, name: $name) {
releases(last: 3) {
nodes { tagName }
}
}
}
'

注意,通过 -F 传递的字段(如 owner, name)会被视为 GraphQL 变量。

4. 自定义输出模板

使用 --template 可以定制化输出格式和样式。

gh api /repos/{owner}/{repo}/issues --template
'{{range .}}{{.title}} ({{.labels | pluck "name" | join ", " | color "yellow"}}){{"\n"}}{{end}}'

此模板输出每个 Issue 的标题,并将其标签名称用黄色高亮显示。

5. 在 CI/CD 工作流中集成

在 GitHub Actions 中,使用内置的 GITHUB_TOKEN 进行认证, gh api 是实现复杂逻辑的利器。

📝 最佳实践总结

  1. 善用占位符:在仓库目录下操作时,充分利用 {owner}、{repo} 的自动替换,使命令更通用。
  2. 优先使用 -F:相比 -f,-F 支持类型转换和文件读取,功能更全面。
  3. 响应处理管道化:将 gh api 与 jq、--template 或 --paginate 结合,在命令行中直接完成数据提取、格式化和分析。
  4. 认证安全:在自动化环境中,使用 GITHUB_TOKEN 或从安全存储中读取令牌,并遵循最小权限原则。

通过 gh api,你获得的不只是一个 API 调用工具,而是一个能够将任意 GitHub 操作编织进你本地开发与自动化流水线中的强大引擎。

八、完整命令索引与速查表

本节提供 GitHub CLI (gh) 所有命令的完整索引,旨在作为日常使用时的快速参考手册。命令按功能领域分组,每个条目包含命令、简要说明及一个典型用法示例,以兼顾入门指引与高阶查询需求。

核心命令 (Core Commands)

这些命令用于处理 GitHub 上的日常核心操作。

命令 作用 典型用法
gh auth 管理认证 gh auth login
gh auth login 交互式登录 GitHub gh auth login
gh auth logout 退出登录 gh auth logout
gh auth refresh 刷新认证状态 gh auth refresh
gh auth setup-git 配置 Git 使用 gh 进行认证 gh auth setup-git
gh auth status 显示当前登录状态 gh auth status
gh auth switch 在多个账户间切换 gh auth switch
gh auth token 打印认证令牌 gh auth token
gh browse 在浏览器中打开仓库、议题或 PR gh browse --issues
gh codespace 管理 GitHub Codespaces gh codespace list
gh codespace code 在 VS Code 中打开 Codespace gh codespace code -c
gh codespace cp 在本地与 Codespace 间复制文件 gh codespace cp ./localfile .:/remote/path -c
gh codespace create 新建一个 Codespace gh codespace create -r owner/repo
gh codespace delete 删除 Codespace gh codespace delete -c
gh codespace edit 编辑 Codespace 属性 gh codespace edit -c --display-name “New Name”
gh codespace jupyter 在浏览器中打开 JupyterLab gh codespace jupyter -c
gh codespace list 列出可用的 Codespaces gh codespace list
gh codespace logs 获取 Codespace 日志 gh codespace logs -c
gh codespace ports 列出 Codespace 端口 gh codespace ports -c
gh codespace ports forward 转发端口到本地 gh codespace ports forward -c
gh codespace ports visibility 设置端口可见性 gh codespace ports visibility :private -c
gh codespace rebuild 重建 Codespace gh codespace rebuild -c
gh codespace ssh 通过 SSH 连接至 Codespace gh codespace ssh -c
gh codespace stop 停止 Codespace gh codespace stop -c
gh codespace view 查看 Codespace 详情 gh codespace view -c
gh gist 管理 Gists gh gist list
gh gist clone 克隆一个 Gist 到本地 gh gist clone
gh gist create 创建一个新的 Gist gh gist create
gh gist delete 删除一个 Gist gh gist delete
gh gist edit 编辑一个 Gist gh gist edit
gh gist list 列出你的 Gists gh gist list
gh gist rename 重命名一个 Gist gh gist rename
gh gist view 查看一个 Gist gh gist view
gh issue 管理议题 gh issue list
gh issue close 关闭议题 gh issue close 123
gh issue comment 在议题下发表评论 gh issue comment 123 --body “确认问题”
gh issue create 创建议题 gh issue create -t “标题” -b “正文”
gh issue delete 删除议题 gh issue delete 123
gh issue develop 为议题创建开发分支 gh issue develop 123
gh issue edit 编辑议题 gh issue edit 123 --title “新标题”
gh issue list 列出现有议题 gh issue list --state open --assignee @me
gh issue lock 锁定议题(禁止评论) gh issue lock 123
gh issue pin 置顶议题 gh issue pin 123
gh issue reopen 重新打开已关闭的议题 gh issue reopen 123
gh issue status 展示与你相关议题的概览 gh issue status
gh issue transfer 将议题转移到其他仓库 gh issue transfer 123 --repo new-owner/new-repo
gh issue unlock 解锁议题 gh issue unlock 123
gh issue unpin 取消议题置顶 gh issue unpin 123
gh issue view 查看议题详情 gh issue view 123 --web
gh org 管理组织 gh org list
gh pr 管理拉取请求 gh pr create
gh pr checkout 将 PR 分支检出到本地 gh pr checkout 456
gh pr checks 查看 PR 的 CI 检查状态 gh pr checks 456
gh pr close 关闭 PR gh pr close 456
gh pr comment 在 PR 下发表评论 gh pr comment 456 --body “LGTM”
gh pr create 创建 PR gh pr create --fill --reviewer octocat
gh pr diff 查看 PR 的代码差异 gh pr diff 456
gh pr edit 编辑 PR 元数据 gh pr edit 456 --title “新标题”
gh pr list 列出 PR gh pr list --state open --label bug
gh pr lock 锁定 PR 对话 gh pr lock 456
gh pr merge 合并 PR gh pr merge 456 --squash --delete-branch
gh pr ready 标记 PR 为准备评审 gh pr ready 456
gh pr reopen 重新打开已关闭的 PR gh pr reopen 456
gh pr revert 还原一个合并的 PR gh pr revert 456
gh pr review 提交 PR 评审 gh pr review 456 --approve --body “很好!”
gh pr status 展示与你相关 PR 的概览 gh pr status
gh pr unlock 解锁 PR gh pr unlock 456
gh pr update-branch 更新 PR 分支(合并目标分支) gh pr update-branch 456
gh pr view 查看 PR 详情 gh pr view 456 --web
gh project 管理 GitHub 项目 gh project list
gh project close 关闭项目 gh project close
gh project copy 复制项目 gh project copy
gh project create 创建项目 gh project create --owner org --title “新项目”
gh project delete 删除项目 gh project delete
gh project edit 编辑项目元数据 gh project edit --title “新标题”
gh project field-create 为项目创建字段 gh project field-create --name “状态” --data-type SINGLE_SELECT
gh project field-delete 删除项目字段 gh project field-delete --id
gh project field-list 列出项目字段 gh project field-list
gh project item-add 将议题/PR 添加到项目 gh project item-add --url
gh project item-archive 归档项目项 gh project item-archive --id
gh project item-create 在项目中创建新项 gh project item-create --title “新任务”
gh project item-delete 删除项目项 gh project item-delete --id
gh project item-edit 编辑项目项 gh project item-edit --id --field “状态:进行中”
gh project item-list 列出项目项 gh project item-list
gh project link 链接项目模板 gh project link
gh project list 列出项目 gh project list --owner org
gh project mark-template 将项目标记为模板 gh project mark-template
gh project unlink 取消项目与模板的链接 gh project unlink
gh project view 查看项目详情 gh project view --web
gh release 管理发布 gh release list
gh release create 创建发布 gh release create v1.0.0 --title “正式版”
gh release delete-asset 删除发布中的资源文件 gh release delete-asset v1.0.0
gh release delete 删除发布 gh release delete v1.0.0
gh release download 下载发布资源 gh release download v1.0.0
gh release edit 编辑发布信息 gh release edit v1.0.0 --title “新标题”
gh release list 列出发布 gh release list
gh release upload 上传资源到发布 gh release upload v1.0.0 ./build.zip
gh release verify-asset 验证发布资源签名 gh release verify-asset v1.0.0
gh release verify 验证发布签名 gh release verify v1.0.0
gh release view 查看发布详情 gh release view v1.0.0
gh repo 管理仓库 gh repo clone
gh repo archive 归档仓库 gh repo archive owner/repo
gh repo autolink 管理自动链接引用 gh repo autolink list
gh repo autolink create 创建自动链接引用 gh repo autolink create --key TRELLO --url-template ‘...’
gh repo autolink delete 删除自动链接引用 gh repo autolink delete
gh repo autolink list 列出自动链接引用 gh repo autolink list
gh repo autolink view 查看自动链接引用 gh repo autolink view
gh repo clone 克隆仓库 gh repo clone owner/repo
gh repo create 创建新仓库 gh repo create my-proj --public --push
gh repo delete 删除仓库 gh repo delete owner/repo
gh repo deploy-key 管理部署密钥 gh repo deploy-key list
gh repo deploy-key add 添加部署密钥 gh repo deploy-key add --title “服务器” --key ./key.pub
gh repo deploy-key delete 删除部署密钥 gh repo deploy-key delete
gh repo deploy-key list 列出部署密钥 gh repo deploy-key list
gh repo edit 编辑仓库属性 gh repo edit --description “新描述”
gh repo fork Fork 一个仓库 gh repo fork owner/repo --clone
gh repo gitignore 查看 .gitignore 模板 gh repo gitignore list
gh repo gitignore list 列出可用 .gitignore 模板 gh repo gitignore list
gh repo gitignore view 查看特定 .gitignore 模板 gh repo gitignore view Node
gh repo license 查看许可证模板 gh repo license list
gh repo license list 列出可用许可证模板 gh repo license list
gh repo license view 查看特定许可证模板 gh repo license view MIT
gh repo list 列出仓库 gh repo list org-name
gh repo rename 重命名仓库 gh repo rename new-name
gh repo set-default 设置默认仓库 gh repo set-default owner/repo
gh repo sync 同步 Fork 的仓库 gh repo sync
gh repo unarchive 取消仓库归档 gh repo unarchive owner/repo
gh repo view 查看仓库信息 gh repo view owner/repo --web

GitHub Actions 命令

这些命令用于管理和交互 GitHub Actions。

命令 作用 典型用法
gh cache 管理 Actions 缓存 gh cache list
gh cache delete 删除 Actions 缓存 gh cache delete
gh cache list 列出 Actions 缓存 gh cache list --ref refs/heads/main
gh run 管理工作流运行 gh run list
gh run cancel 取消一个工作流运行 gh run cancel 123456
gh run delete 删除工作流运行记录 gh run delete 123456
gh run download 下载运行产生的构件 gh run download 123456 -n artifact-name
gh run list 列出工作流运行记录 gh run list --workflow CI
gh run rerun 重新运行一个工作流 gh run rerun 123456 --failed
gh run view 查看工作流运行详情 gh run view 123456 --log
gh run watch 实时查看运行日志 gh run watch 123456
gh workflow 管理工作流 gh workflow list
gh workflow disable 禁用工作流 gh workflow disable “CI”
gh workflow enable 启用工作流 gh workflow enable “CI”
gh workflow list 列出仓库工作流 gh workflow list
gh workflow run 手动触发工作流 gh workflow run “CI” --ref main
gh workflow view 查看工作流定义 gh workflow view “CI” --yaml

附加命令 (Additional Commands)

这些命令提供扩展功能、配置和底层操作。

命令 作用 典型用法
gh agent-task 管理代号为“agent-task”的功能 gh agent-task list
gh alias 管理命令别名 gh alias set co ‘pr checkout’
gh alias delete 删除别名 gh alias delete co
gh alias import 从文件导入别名 gh alias import < aliases.yml
gh alias list 列出所有别名 gh alias list
gh alias set 设置别名 gh alias set bugs ‘issue list --label bug’
gh api 直接调用 GitHub API gh api repos/octocat/hello-world
gh attestation 管理证明材料 (Attestations) gh attestation download
gh attestation download 下载证明材料 gh attestation download --owner org --repo repo --bundle
gh attestation trusted-root 管理可信根证书 gh attestation trusted-root get
gh attestation verify 验证证明材料 gh attestation verify --bundle
gh completion 生成 Shell 自动补全脚本 gh completion -s zsh
gh config 管理 CLI 配置 gh config set editor “code -w”
gh config clear-cache 清除内部缓存 gh config clear-cache
gh config get 获取配置项 gh config get editor
gh config list 列出所有配置 gh config list
gh config set 设置配置项 gh config set pager ‘less -FRX’
gh copilot GitHub Copilot 相关功能(实验性) gh copilot
gh extension 管理扩展 gh extension install user/extension
gh extension browse 在浏览器中打开扩展仓库 gh extension browse
gh extension create 创建新的扩展模板 gh extension create my-ext
gh extension exec 直接执行扩展命令 gh extension exec user/extension
gh extension install 安装扩展 gh extension install dlvhdr/gh-dash
gh extension list 列出已安装扩展 gh extension list
gh extension remove 卸载扩展 gh extension remove user/extension
gh extension search 搜索扩展 gh extension search “dashboard”
gh extension upgrade 升级扩展 gh extension upgrade --all
gh gpg-key 管理 GPG 密钥 gh gpg-key list
gh gpg-key add 添加 GPG 密钥 gh gpg-key add ./key.asc
gh gpg-key delete 删除 GPG 密钥 gh gpg-key delete
gh gpg-key list 列出 GPG 密钥 gh gpg-key list
gh label 管理标签 gh label list
gh label clone 克隆标签到其他仓库 gh label clone owner/source-repo --repo owner/target-repo
gh label create 创建新标签 gh label create “priority:high” --color “ff0000”
gh label delete 删除标签 gh label delete “priority:high”
gh label edit 编辑标签 gh label edit “bug” --name “Bug” --color “d73a49”
gh label list 列出仓库标签 gh label list
gh licenses 查看开源许可证 gh licenses list
gh preview 预览实验性功能 gh preview
gh ruleset 管理仓库规则集 gh ruleset list
gh ruleset check 检查规则集与分支的匹配 gh ruleset check --branch feature
gh ruleset list 列出仓库规则集 gh ruleset list
gh ruleset view 查看规则集详情 gh ruleset view
gh search 搜索 GitHub gh search code “function main()”
gh search code 搜索代码 gh search code “console.log” --repo owner/repo
gh search commits 搜索提交 gh search commits “fix bug” --author octocat
gh search issues 搜索议题 gh search issues “label:bug is:open”
gh search prs 搜索拉取请求 gh search prs “is:merged reviewed-by:@me
gh search repos 搜索仓库 gh search repos “topic:cli”
gh secret 管理 Actions 仓库/组织密钥 gh secret list
gh secret delete 删除密钥 gh secret delete API_TOKEN
gh secret list 列出密钥 gh secret list
gh secret set 设置密钥 gh secret set API_TOKEN -b “my-secret-value”
gh ssh-key 管理 SSH 密钥 gh ssh-key list
gh ssh-key add 添加 SSH 密钥 gh ssh-key add --title “MacBook” --key ./id_ed25519.pub
gh ssh-key delete 删除 SSH 密钥 gh ssh-key delete
gh ssh-key list 列出 SSH 密钥 gh ssh-key list
gh status 显示用户状态(如提及、议题、PR等) gh status
gh variable 管理 Actions 仓库/组织变量 gh variable list
gh variable delete 删除变量 gh variable delete ENV
gh variable get 获取变量值 gh variable get ENV
gh variable list 列出变量 gh variable list
gh variable set 设置变量 gh variable set ENV -b “production”

全局选项(适用于所有 gh 命令):

此速查表整合了 GitHub CLI (gh) 的全部功能,覆盖日常开发、协作、自动化及系统管理的绝大多数场景。遇到具体参数疑问时,可随时使用 gh --help 获取最详细的官方说明。

内容由AI生成仅供参考

❤️ 转载文章请注明出处,谢谢!❤️