GitHub CLI
(或gh
)是 GitHub
的命令行界面,可在终端或脚本中使用。
使用GitHub CLI
,开发者可以从命令行检查GitHub
问题和拉取请求的状态,搜索特定的问题或拉取请求,创建/分叉存储库,或直接从命令行创建新问题和拉取请求。
在这篇文章中,我们将介绍一些常见的日常开发者工作流程。在这个过程中,我们将重点关注如何使用GitHub CLI
管理我们的问题和拉取请求。
什么是 GitHub CLI
?
GitHub CLI
最好被描述为"从命令行访问的GitHub
"。
目前,GitHub CLI
的版本为 v2.39.1
。它主要围绕三个GitHub
项目的功能组成:
- Issues(问题): 允许你检查、创建和管理
GitHub
仓库中的问题。 - Pull Requests(拉取请求): 允许你查看、创建和管理拉取请求,这是贡献代码变更的主要方式。
- 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
,开发者可以在不离开终端的情况下,更加高效地处理项目的问题和拉取请求,从而提高开发工作流的整体效率。