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

常用的工作流程
我目前高頻使用 github 如下的一些功能:
- 所有的倉庫都在 github 里,會創(chuàng)建新的倉庫,然后 clone 到本地,或者將本地新創(chuàng)建的倉庫在 github 那邊對應(yīng)創(chuàng)建遠程倉庫
- 在 github 創(chuàng)建 issue 并盡量讓自己所提交的 commit 和 issue 綁定
- 使用 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é)果
這么做的場景一般有兩個:
-
查看列表,確認(rèn) action 是跑完了還是沒跑完,成功了還是失敗了
gh run list -
一些 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

