惊鸿一瞥
这是一个可以帮助你在命令行中完成Github的各种操作的cli工具。
创建它的初衷是因为我是一个命令行狂热爱好者,与此同时我也是一个Github的fans,每当我在命令行环境中进行开发工作时,如果此时我想看看Github上又诞生了什么新的有趣的开源项目或者我需要完成一些项目仓库之类的操作,我都需要切换到浏览器环境然后在Google中通过搜索跳转到Github的网站,找到我想要的页面去完成我要做的事。一顿操作猛如虎之后我又需要重新切回命令行环境,这样的环境切换既耗时又无趣。我又是一个很懒的人,自然这部分的时间浪费我也不能容忍。于是我开始搜索是否存在这样一个工具可以满足我的需求,但是搜索结果令人沮丧。既然如此,那就自己创造一个吧,谁让我们程序员是最有创造力的呢。
揭开面纱
前面见了Github-cli的匆匆一面,接下来就得看看它的庐山真面目了,嗯,需要聊一聊它该怎么用。首先你需要安装它
$ npm i -g @mozheng-neal/github_cli
复制代码
安装之后你可以通过
$ gh -h
复制代码
查看支持的命令和option。
在使用过程中需要注意的一点是有很多操作是需要做身份的权限校验的,github-cli通过Oauth的access token来完成校验。所以如果你遇到需要如下这样的要求你输入token的interface
选择scopes时最好是选中所有的scope以防后续操作中遇到权限校验不通过的问题。token生成之后输入到对话框中即可,Github-cli会将您的token信息保存到本地,一次输入,长久有效。 目前该项目支持6个子域下的相关操作,包括repository,issues,pull request,reaction,search,users,接下来我们就逐一介绍
Repository
你可以通过如下命令来查看该scope下支持的命令
$ gh rs -h
复制代码
其中带有子option的命令类型拆解如下:
-
ls
-
cr
-
et
-
rm
-
st
-
ck
Issues
你可以通过如下命令查看issues scope下支持的命令和option
$ gh iu -h
复制代码
其中带有子option的命令类型拆解如下:
-
ls
-
cr
-
et
-
rm
Pull request
通过如下指令你可以查看该scope下支持的命令
$ gh pr -h
复制代码
其中带有子option的命令类型拆解如下:
-
ls
-
cr
-
et
-
rm
Reaction
Reaction scope主要用来查看和创建一些对comment或者issue之类数据的表情回应,你可以通过如下命令查看它所支持的子命令
$ gh rt -h
复制代码
其中带有子option的命令类型拆解如下:
-
ls
-
cr
Search
Search scope用于搜索操作,它支持的命令可以通过如下命令查看
$ gh sr -h
复制代码
Users
该scope主要用于查看和编辑一些个人数据,它所支持的子命令可以通过如下命令查看
$ gh us -h
复制代码
其使用细节如下图所示:
结语
创建Github-cli的初衷只是为了节省我环境切换的时间以及享受自己亲手去设计和实现这样一个工具的快感,为了让它变得更好,并让那些像我一样遇到这种效率提升问题的开发小伙伴节省时间我决定将其开源出来,接受大家的意见反馈甚至参与共建。最后,欢迎大家使用这款工具,在使用过程中遇到任何问题可以直接提起issue,我会在第一时间给予回复。如果大家觉得这款工具不错,也请不要吝惜您的star,github地址。让我们一起把世界变得更美好。