GitHub CLI - 将 GitHub 带入命令行

GitHub CLI(或gh)是 GitHub 的命令行界面,可在终端或脚本中使用。

使用GitHub CLI,开发者可以从命令行检查GitHub问题和拉取请求的状态,搜索特定的问题或拉取请求,创建/分叉存储库,或直接从命令行创建新问题和拉取请求。

在这篇文章中,我们将介绍一些常见的日常开发者工作流程。在这个过程中,我们将重点关注如何使用GitHub CLI 管理我们的问题和拉取请求。

什么是 GitHub CLI

GitHub CLI最好被描述为"从命令行访问的GitHub"。

目前,GitHub CLI 的版本为 v2.39.1。它主要围绕三个GitHub项目的功能组成:

  1. Issues(问题): 允许你检查、创建和管理GitHub仓库中的问题。
  2. Pull Requests(拉取请求): 允许你查看、创建和管理拉取请求,这是贡献代码变更的主要方式。
  3. Repositories(存储库): 允许你创建、复制和管理GitHub仓库。

使用GitHub CLI,开发者可以执行以下与不同工件相关的命令

  • create(创建): 创建新的问题或拉取请求。
  • list(列表): 列出问题、拉取请求或存储库。
  • status(状态): 查看问题或拉取请求的状态。
  • view(查看): 查看详细信息,可能是问题、拉取请求或存储库的详细信息。
  • checkout(仅限拉取请求): 签出(切换到)特定的拉取请求。
  • clone(仅限存储库): 克隆特定的存储库。
  • fork(仅限存储库): 复制存储库以创建一个分支(fork)。

正如之前提到的,在本文中,我们将仅关注与问题和拉取请求相关的命令。这些命令允许开发者通过命令行轻松地管理和与GitHub上的问题和拉取请求交互。

使用 GitHub CLI 管理 GitHub 问题

如果在你的开发流程中经常需要处理 GitHub 问题,那么 GitHub CLI 可能有一些对你有帮助的命令。让我们来看看典型的工作日可能是什么样子,重点介绍使用 GitHub CLI 处理 GitHub 问题的一些示例。

  • 列出 GitHub CLI 的问题

    描述 命令
    列出项目中的所有问题 gh issue list
    列出项目中的所有问题,包括已关闭的。"all" 表示列出所有状态的问题 gh issue list --state "all"(或gh issue list -s "all")
    列出所有分配给特定用户("n8ebel")的项目中的问题 gh issue list --assignee "n8ebel"(或 gh issue list -a "n8ebel")
  • 使用 GitHub CLI 检查问题状态

    描述 命令
    显示项目中相关问题的状态 gh issue status
    列出项目中所有已关闭的问题 gh issue list --state "closed"(或 gh issue list -s "closed")
    列出项目中带有特定标签("bug")的问题 gh issue list --label "bug"(或 gh issue list -l "bug")
  • 使用 GitHub CLI 查看问题

    描述 命令
    查看项目中特定问题的详细信息,其中 15 是问题的编号 gh issue view 15
    列出项目中由指定用户("n8bel")负责且带有特定标签("bug")的问题 gh issue list -a "n8bel" -l "bug"
  • 使用 GitHub CLI 创建问题

    描述 命令
    创建新问题 gh issue create
    创建一个标题为 "title",正文为 "description" 的新问题 gh issue create -t "title" -b "description"
    用于在浏览器中通过 GitHub 网页界面创建新问题 gh issue create --web

使用 GitHub CLI 管理拉取请求

  • 列出拉取请求

    描述 命令
    列出项目中所有拉取请求 gh pr list
    列出项目中所有拉取请求,包括打开的和关闭的 gh pr list --state all(或 gh pr list -s "all")
    列出由特定用户(assignee)负责的拉取请求 gh pr list --assignee "n8ebel"(或 gh pr list -a "n8ebel")
  • 检查拉取请求状态

    描述 命令
    列出所有状态的拉取请求 gh pr status
    列出所有已关闭的拉取请求 gh pr list --state "closed"(或gh pr list -s "closed")
    列出所有带有 "bug" 标签的拉取请求 gh pr list --label "bug"(或gh pr list -l "bug")
  • 查看拉取请求

    描述 命令
    列出拉取请求编号为 14 的详细信息 gh pr view 14
    列出由用户 "n8bel" 创建且带有 "bug" 标签的所有拉取请求 gh pr list -a "n8bel" -l "bug"
  • 创建拉取请求

    描述 命令
    创建新拉取请求 gh pr create
    创建一个标题为 "title",正文为 "description" 的新拉取请求 gh pr create -t "title" -b "description"
    用于通过网页界面创建新拉取请求 gh pr create --web
    检出与拉取请求编号为 14 相关的拉取请求,包括来自分叉的拉取请求 gh pr checkout 14

通过使用 GitHub CLI,开发者可以在不离开终端的情况下,更加高效地处理项目的问题和拉取请求,从而提高开发工作流的整体效率。

相关推荐
工业甲酰苯胺13 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫13 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
LilySesy13 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
Wang's Blog14 小时前
前端FAQ: Vue 3 与 Vue 2 相⽐有哪些重要的改进?
前端·javascript·vue.js
再希15 小时前
React+Tailwind CSS+Shadcn UI
前端·react.js·ui
John Song15 小时前
git多个账号管理
git·github
用户479492835691515 小时前
JavaScript 的 NaN !== NaN 之谜:从 CPU 指令到 IEEE 754 标准的完整解密
前端·javascript
群联云防护小杜15 小时前
国产化环境下 Web 应用如何满足等保 2.0?从 Nginx 配置到 AI 防护实战
运维·前端·nginx
醉方休15 小时前
Web3.js 全面解析
前端·javascript·electron
前端开发爱好者16 小时前
前端新玩具:Vike 发布!
前端·javascript