GitHub CLI - 将GitHub带入命令行

James2023-11-16开发工具 GitHubGitHub GitHub CLI

image-20231115134648335

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

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

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

什么是 GitHub CLI

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

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

  1. Issues(问题): 允许你检查、创建和管理GitHub仓库中的问题。

  2. Pull Requests(拉取请求): 允许你查看、创建和管理拉取请求,这是贡献代码变更的主要方式。

  3. Repositories(存储库): 允许你创建、复制和管理GitHub仓库。

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

  • 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,开发者可以在不离开终端的情况下,更加高效地处理项目的问题和拉取请求,从而提高开发工作流的整体效率。

上次更新 2023-11-16 07:01:15