使用 github cli 加速與 github 的交互

由于我目前的所有開發(fā)流程一方面和 github 有密切的關(guān)聯(lián),另一方面又大量的使用 vim iTerm 這樣的工具,因此有很強烈的訴求希望可以更好的集成這些工具,最近剛剛嘗試了下 github 官方的 cli 工具 感覺確實可以滿足我這方面的需求。這里記錄下我自己常用的一些命令。

常用的工作流程

我目前高頻使用 github 如下的一些功能:

  1. 所有的倉庫都在 github 里,會創(chuàng)建新的倉庫,然后 clone 到本地,或者將本地新創(chuàng)建的倉庫在 github 那邊對應(yīng)創(chuàng)建遠程倉庫
  2. 在 github 創(chuàng)建 issue 并盡量讓自己所提交的 commit 和 issue 綁定
  3. 使用 github actions 去執(zhí)行 ci 流程、構(gòu)建鏡像、打 tag、 做 release

針對這些場景,github cli 都有對應(yīng)的功能點,下面一一羅列。

快速打開 github 倉庫頁面

gh browse

為當(dāng)前目錄的倉庫創(chuàng)建 github repo

gh repo create <org>/<repo-name> --source . --private

快速創(chuàng)建 issue

個人認(rèn)為 issue 就是軟件開發(fā)行業(yè) GTD 的最小單元,原則上超過 5 分鐘才能做完的事情都應(yīng)該有個 issue 與之對應(yīng),這樣才能將實際的工作更好的反饋到整個項目里。當(dāng)為了鼓勵大家寫 issue,issue 的編寫是越快越好、越方便越好。gh 就很好的提升了 issue 編寫的速度。

gh issue create --title "xxx"

這個工具做的非常細(xì)致,在創(chuàng)建 issue 時甚至?xí)竽闳ミx擇 issue template:

然后會問你是否需要編輯內(nèi)容:

如果要編輯內(nèi)容會自動的幫你引入模板:

這里我默認(rèn)的編輯器是 newovim 在這里編輯可以用到 autopilot 在內(nèi)的全套 vim 插件,也會大大提升我編輯 issue 的速度。

github actions 的快捷流程

github actions 用到的命令比較多,但都很簡單。

查看運行的 github workflow

gh run watch

gh 會讓你選擇當(dāng)前正在運行的 workflow 。

查看運行的 workflow 的結(jié)果

這么做的場景一般有兩個:

  1. 查看列表,確認(rèn) action 是跑完了還是沒跑完,成功了還是失敗了

    gh run list
    
  2. 一些 action 執(zhí)行完會有一些輸出,比如會打個鏡像并且暴露鏡像的 tag,我需要獲取這個 tag

    gh run view <action-id>
    

觸發(fā) workflow 執(zhí)行

有些 workflow 是需要主動觸發(fā)的,可以去 github 網(wǎng)頁上觸發(fā),但是更方便的方法就是通過命令行工具觸發(fā):

# 觸發(fā) graphql.yml 的 workflow 并提供參數(shù) `environment=prod`
gh workflow run graphql.yml -f environment=prod

# 觸發(fā) bump_version.yml 的 workflow 并提供參數(shù) `version=patch`
gh workflow run bump_version.yml -f version=patch
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容