post工具_GitHub CLI 命令行工具使用
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 命令行工具使用相关推荐
- 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
文章目录 一.官方文档 二.Android 命令行工具简介 1.SDK 命令行工具 2.SDK 构建工具 3.SDK 平台工具 4.模拟器工具 5.Jetifier 工具 一.官方文档 Android ...
- Jenkins CLI命令行工具,助你轻松管理 Jenkins
Jenkins CLI,简称 jcli,一个使用 Golang 开发的开源的 Jenkins 命令行工具.它可以帮忙你轻松地管理 Jenkins.无论你是 Jenkins 插件开发者,还是 Jenki ...
- java 编写命令行工具_编写命令行工具
1.使用common-cli编写命令行工具 commons-cli是Apache开源组织提供的用于解析命令行参数的包. 先引用common-cli依赖包: commons-cli commons-cl ...
- 使用mysql命令行的工具_[MySQL]命令行工具和基本操作
一 MySQL命令行工具 (查看帮助 ---help,或 -?) 1)MySQL MySQL是一个简单的SQL外壳(有GNUreadline功能).它支持交互式和非交互式使用.当交互使用时,查询结果 ...
- oracle创建表空间工具,使用sqlplus命令行工具为oracle创建用户和表空间
这篇文章主要介绍了使用sqlplus为oracle创建用户和表空间的方法,本文介绍的是使用Oracle 9i所带的命令行工具:SQLPLUS,需要的朋友可以参考下 用Oracle10g自带的企业管理器 ...
- 使用cobra创建cli命令行工具
什么是cobra? Cobra既是用于创建强大的现代CLI应用程序的库,也是用于生成应用程序和命令文件的程序. Cobra是一个库,提供了一个简单的界面来创建类似于git&go工具的强大的现代 ...
- 使用 SAP UI5 CLI 命令行工具构建和运行 SAP UI5 应用
源代码 Github 地址:https://github.com/wangzixi-diablo/ui5-for-kyma 本地路径:C:\Code\frontend-ui5-mssql 本文介绍 S ...
- 使用.Net Core编写命令行工具(CLI)
使用.Net Core编写命令行工具(CLI) 命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后 ...
- apache pdfbox_Apache PDFBox命令行工具:无需Java编码
apache pdfbox 在博客文章Apache PDFBox 2中 ,我演示了将Apache PDFBox 2用作从Java代码中调用的库来操作PDF. 事实证明,Apache PDFBox 2还 ...
最新文章
- rust狗阳玩的什么游戏_微博搜索
- Spring_day01
- 软件构造的视图与质量指标
- 对 makefile中 order-only 前提条件的理解
- 程序人生之回顾大学前两年----第二篇
- 程序员,别了校园入了江湖
- 在同一个workprocess里对两张表分别使用online update和update function module update
- 机器学习基石笔记5——为什么机器可以学习(1)
- java循环的嵌套执行
- [iOS] 完整源码, Swift语言 - 账号保存工具
- 全国高校计算机能力挑战赛真题(二)
- Bailian4133 垃圾炸弹【枚举】
- java修饰符super_Java 继承 方法重写 super关键字 访问权限修饰符
- 广州海珠php培训_海珠|海珠区第二实验小学教育集团成立两周年 初步实现集团内教师资源的“柔性流动”...
- 教之初在线计算机考题,教之初计算机考试系统
- Android开发的消消乐游戏
- 这些免费模板,让Excel轻松制作精美图表
- Python处理Excel数据-pandas篇
- python加密excel
- aria2 linux一键安装,Aria2一键安装及管理脚本,搭建AriaNg前端
热门文章
- 蓄势待发!一加10 Pro获3C认证:搭载80W快充+2K LTPO屏
- 为了多拿点补贴,马斯克甚至还当过“渣男”?
- 新思科技与台积电开发基于N4P制程的最广泛IP核组合
- “羊毛党”玩脱了!90后员工用优惠券狂薅45万被捕
- 看不起胖子?自如员工爆料身高、体重决定能否晋升,官方回应侧面实锤?
- 小鹏的全语音车载系统什么名堂?
- AMD官宣350亿美元收购赛灵思 赛灵思大涨8.56%
- 壕!腾讯再公布股权激励:2.97万员工 人均49万港元
- 荣耀老熊晒荣耀V30新机样张:还有更深远的未知空间
- 支付宝封杀比特币,可以说是毫不留情!