驚鴻一瞥
這是一個可以幫助你在命令列中完成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地址。讓我們一起把世界變得更美好。