GitHub 被巨软收购以后推出了一系列非常好用的开发者工具,比如前面我们使用过的 CI/CD 工具 GitHub Actions、包管理工具 packages,今天我们要为大家介绍的是近来 GitHub 发布的又一个非常有用的工具: GitHub CLI,可以让开发者通过命令行与 GitHub 进行无缝的协同工作,也就是我们直接在命令行终端上就可以进行 pull requests、issues 等其他功能,现在已经发布 Beta 版本,我们可以在 macOS、Windows 或者 Linux 平台上安装 GitHub CLI。

安装

要安装 GitHub CLI 非常简单,比如我们这里在 macOS 下面依然可以用 Homebrew 工具进行安装:

$ brew install github/gh/gh

# 如果需要更新执行下面的命令即可

$ brew update && brew upgrade gh

安装完成后直接在命令行中执行 gh 命令,看到如下所示的信息就证明已经安装完成:

$ gh

> GET /repos/cli/cli/releases/latest

Work seamlessly with GitHub from the command line.

GitHub CLI is in early stages of development, and we'd love to hear your

feedback at

Usage:

gh [command]

Available Commands:

help Help about any command

issue Create and view issues

pr Create, view, and checkout pull requests

Flags:

--help Show help for command

-R, --repo OWNER/REPO Select another repository using the OWNER/REPO format

--version Show gh version

Use "gh [command] --help" for more information about a command.

其他平台的安装参考官方文档即可: https://cli.github.com/manual/installation。

使用

下面我们以 issue 和 pull requests 两个开发者使用非常频繁的功能为例来介绍下 GitHub CLI 的基本使用。从 GitHub 上面 Clone 一个项目到本地,然后在项目目录下面执行 gh 相关的命令,比如我们这里就在博客文章的项目下面来进行演示,项目地址:https://github.com/cnych/qikqiak.com。

列表过滤

我们可以使用 gh 命令来过滤 issue,比如过滤带有 gitment 标签的问题:

$ gh issue list --label "gitment"

> GET /repos/cli/cli/releases/latest

Notice: authentication required

Press Enter to open github.com in your browser... < HTTP 200 OK

在第一次使用的时候需要我们进行一次授权,在命令行中输入回车键就会在浏览器中打开授权页面,点击授权即可:

授权完成后回到终端中输入回车键即可得到结果:

$ gh issue list --label "gitment"

[git remote -v]

> GET /repos/cli/cli/releases/latest

> POST /graphql

< HTTP 200 OK

< HTTP 200 OK

Issues for cnych/qikqiak.com

> POST /graphql

< HTTP 200 OK

#152 Kubernetes 零宕机滚动更新 (gitment, zero-downtime-rolling-update-k8s)

#151 在 Kubernetes 集群上部署 VSCode (deploy-vscode-on-k8s, gitment)

#150 自定义 Traefik2 中间件 (custom-traefik2-middleware, gitment)

#149 基于 Jenkins 的 DevOps 流水线实践 (devops-base-on-jenkins, gitment)

#148 自定义 Kubernetes 调度器 (custom-kube-scheduler, gitment)

#146 一文搞懂 Traefik2.1 的使用 (gitment, traefik-2.1-101)

......

上面的命令即可将带有 gitment 标签的 issue 过滤出来。

快速查看详情

找到一个我们关心的 issue 过后,要想查看该 issue 的详细信息,可以使用如下命令在浏览器中快速将 issue 的详细信息页面打开:

$ gh issue view 152

[git remote -v]

> POST /graphql

< HTTP 200 OK

> POST /graphql

< HTTP 200 OK

Opening https://github.com/cnych/qikqiak.com/issues/152 in your browser.

[open https://github.com/cnych/qikqiak.com/issues/152]

创建 PR

创建一个分支,在提交几次代码后修复了 issue 中描述的 BUG 后,然后可以使用 gh 命令来创建一个 pull request 来提交我们贡献的代码:

gh pr create

[git remote -v]

> POST /graphql

< HTTP 200 OK

[git rev-parse --abbrev-ref HEAD]

[git status --porcelain]

[git push --set-upstream origin HEAD:gh-pages]

Creating pull request for gh-pages into master in cnych/qikqiak.com

[git rev-parse --show-toplevel]

? Title Update gitignore

? Body <Received>

? What's next? [Use arrows to move, type to filter]

> Preview in browser

Submit

Cancel

我们还可以通过键盘上的上下方向键来移动进行动作选择,可以跳转到浏览器中进行操作,也可以直接提交或者取消。

状态查看

当我们创建了一个 pull request 过后要想快速了解其状态,同样可以使用 gh 命令来显示 pull requests 的 review 和状态:

$ gh pr status

[git remote -v]

[git rev-parse --abbrev-ref HEAD]

[git config --get-regexp ^branch\.gh-pages\.(remote|merge)$]

> POST /graphql

< HTTP 200 OK

> POST /graphql

< HTTP 200 OK

Relevant pull requests in cnych/qikqiak.com

Current branch

#153 Update gitignore rules [gh-pages]

- Checks passing

Created by you

#153 Update gitignore rules [gh-pages]

- Checks passing

Requesting a code review from you

You have no pull requests to review

这里我们只是简单介绍了 issue 和 pull requests 的几个常用命令,更多的使用方式可以查看官方文档了解更多:https://cli.github.com/manual/examples。


K8S 进阶训练营,点击下方图片了解详情

post工具_GitHub CLI 命令行工具使用相关推荐

  1. 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )

    文章目录 一.官方文档 二.Android 命令行工具简介 1.SDK 命令行工具 2.SDK 构建工具 3.SDK 平台工具 4.模拟器工具 5.Jetifier 工具 一.官方文档 Android ...

  2. Jenkins CLI命令行工具,助你轻松管理 Jenkins

    Jenkins CLI,简称 jcli,一个使用 Golang 开发的开源的 Jenkins 命令行工具.它可以帮忙你轻松地管理 Jenkins.无论你是 Jenkins 插件开发者,还是 Jenki ...

  3. java 编写命令行工具_编写命令行工具

    1.使用common-cli编写命令行工具 commons-cli是Apache开源组织提供的用于解析命令行参数的包. 先引用common-cli依赖包: commons-cli commons-cl ...

  4. 使用mysql命令行的工具_[MySQL]命令行工具和基本操作

    一 MySQL命令行工具  (查看帮助 ---help,或 -?) 1)MySQL MySQL是一个简单的SQL外壳(有GNUreadline功能).它支持交互式和非交互式使用.当交互使用时,查询结果 ...

  5. oracle创建表空间工具,使用sqlplus命令行工具为oracle创建用户和表空间

    这篇文章主要介绍了使用sqlplus为oracle创建用户和表空间的方法,本文介绍的是使用Oracle 9i所带的命令行工具:SQLPLUS,需要的朋友可以参考下 用Oracle10g自带的企业管理器 ...

  6. 使用cobra创建cli命令行工具

    什么是cobra? Cobra既是用于创建强大的现代CLI应用程序的库,也是用于生成应用程序和命令文件的程序. Cobra是一个库,提供了一个简单的界面来创建类似于git&go工具的强大的现代 ...

  7. 使用 SAP UI5 CLI 命令行工具构建和运行 SAP UI5 应用

    源代码 Github 地址:https://github.com/wangzixi-diablo/ui5-for-kyma 本地路径:C:\Code\frontend-ui5-mssql 本文介绍 S ...

  8. 使用.Net Core编写命令行工具(CLI)

    使用.Net Core编写命令行工具(CLI) 命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后 ...

  9. apache pdfbox_Apache PDFBox命令行工具:无需Java编码

    apache pdfbox 在博客文章Apache PDFBox 2中 ,我演示了将Apache PDFBox 2用作从Java代码中调用的库来操作PDF. 事实证明,Apache PDFBox 2还 ...

最新文章

  1. rust狗阳玩的什么游戏_微博搜索
  2. Spring_day01
  3. 软件构造的视图与质量指标
  4. 对 makefile中 order-only 前提条件的理解
  5. 程序人生之回顾大学前两年----第二篇
  6. 程序员,别了校园入了江湖
  7. 在同一个workprocess里对两张表分别使用online update和update function module update
  8. 机器学习基石笔记5——为什么机器可以学习(1)
  9. java循环的嵌套执行
  10. [iOS] 完整源码, Swift语言 - 账号保存工具
  11. 全国高校计算机能力挑战赛真题(二)
  12. Bailian4133 垃圾炸弹【枚举】
  13. java修饰符super_Java 继承 方法重写 super关键字 访问权限修饰符
  14. 广州海珠php培训_海珠|海珠区第二实验小学教育集团成立两周年 初步实现集团内教师资源的“柔性流动”...
  15. 教之初在线计算机考题,教之初计算机考试系统
  16. Android开发的消消乐游戏
  17. 这些免费模板,让Excel轻松制作精美图表
  18. Python处理Excel数据-pandas篇
  19. python加密excel
  20. aria2 linux一键安装,Aria2一键安装及管理脚本,搭建AriaNg前端

热门文章

  1. 蓄势待发!一加10 Pro获3C认证:搭载80W快充+2K LTPO屏
  2. 为了多拿点补贴,马斯克甚至还当过“渣男”?
  3. 新思科技与台积电开发基于N4P制程的最广泛IP核组合
  4. “羊毛党”玩脱了!90后员工用优惠券狂薅45万被捕
  5. 看不起胖子?自如员工爆料身高、体重决定能否晋升,官方回应侧面实锤?
  6. 小鹏的全语音车载系统什么名堂?
  7. AMD官宣350亿美元收购赛灵思 赛灵思大涨8.56%
  8. 壕!腾讯再公布股权激励:2.97万员工 人均49万港元
  9. 荣耀老熊晒荣耀V30新机样张:还有更深远的未知空间
  10. 支付宝封杀比特币,可以说是毫不留情!