惊鸿一瞥
这是一个可以帮助你在命令行中完成 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
你需要在开发者设置生成并填写该 token 值, 该 token 的生成方法如下所示:
选择 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 地址让我们一起把世界变得更美好
来源: https://juejin.im/post/5a97f8b25188255574591a09