GitHub CLI - 将GitHub带入命令行

简介: 本文介绍了 GitHub CLI(命令行界面)的基本概念及其主要功能,重点讲解如何通过命令行管理 GitHub 上的问题和拉取请求。文章详细列出了与问题和拉取请求相关的常用命令,包括列出、查看、创建和检查状态等操作,旨在帮助开发者提高工作效率,优化日常开发流程。

image-20231115134648335

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

目录
相关文章
|
数据可视化 开发工具 Android开发
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
294 0
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
|
网络安全 开发工具 数据安全/隐私保护
iOS开发 - 最简洁的用命令行提交代码到Github,加详细说明
iOS开发 - 最简洁的用命令行提交代码到Github,加详细说明
140 0
iOS开发 - 最简洁的用命令行提交代码到Github,加详细说明
|
API 开发者
重磅!GitHub 命令行客户端 1.0 正式发布!
今天,GitHub 官方正式发布了 GitHub CLI 1.0 版本,它能让开发者直接通过命令行来实现一些基础化的操作,比如创建 issues,发布版本,合并 Pull Requests 等等。
129 0
重磅!GitHub 命令行客户端 1.0 正式发布!
|
Shell 开发工具 数据安全/隐私保护
使用git命令行上传本地代码到github
使用git命令行上传本地代码到github
|
程序员 Linux 开发工具
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
593 0
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
|
Linux 开发工具 git
一天1300 Star量,GitHub上新官方命令行工具
不想用命令行操作 GitHub 的开发者,不是好的开发者。——不是我说的
171 0
一天1300 Star量,GitHub上新官方命令行工具
|
Shell 开发工具 git
利用git bash(git命令行)将本地代码上传到github上
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ git命令工具Git Bash 。 首先在Git Bash中使用cd命令进入对应的本地项目路录,按照下面的命令操作: 1、git init 表示在当前的项目目录中生成本地的git管理。
1940 0
|
程序员 开发工具 git
Git 命令行大全,在 GitHub 上采用多分支管理
前言 严格地说,这不算一篇 Blog,这里只会不定期更新一些小东西,是的,关于 GitHub 命令行操作,我给它取名 —— GitHub 命令行大全。 为什么要用命令行? 众所周知,GitHub 早已有各种各样的 GUI 版本,比如我们 Windows 系统就有 GitHub for Windows,「哎哟,我的亲娘,我等穷鬼,自然用不起 Mac。
1082 0
|
Shell 开发工具 git
github命令行操作
github命令行操作
1629 0