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

相关推荐
IT_陈寒3 分钟前
Redis的KEYS命令把我搞崩溃了,改用SCAN才活过来
前端·人工智能·后端
Jackson__34 分钟前
为什么 Agent 越聊越慢?聊聊 Context(上下文)管理
前端·agent·ai编程
KaMeidebaby1 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
青禾网络1 小时前
前端做音画匹配这件事,我从"随机塞"到"AI 自动对齐"
前端·github
用户081602610572 小时前
AgentGate:一行命令给你的 AI Agent 加上企业级弹性层
github
2601_963771372 小时前
Hardening Enterprise WordPress Sites Against REST API Leaks and Bad Headers
前端·windows·word·php
蓝银草同学2 小时前
Stream 实战:博客列表排序、过滤与分页(AI 辅助学习 Java 8)
java·前端·后端
2601_957190902 小时前
飞行影院安装施工指南:场地、动感系统与影片内容配套
大数据·前端·人工智能
爱折腾的小黑牛2 小时前
简记往来批量录入功能的实现:从文本到结构化数据
前端·算法
YHHLAI2 小时前
Agent 智能体开发实战 · 第六课:MCP 协议 —— 让 Agent 跨进程调用工具
前端·人工智能