你是否曾經想在命令列使用 GitHub CLI 執行克隆(Clone)指令時,因為記不住儲存庫名稱,而要一邊看著一邊輸入,感覺既花時間又容易出錯? 我也經常遇到這樣的煩惱。作為一名每天需要處理多個儲存庫的開發人員,我深切渴望有一個更好的解決方案。因此,我精心編寫了一個能擴充 gh repo clone
命令的自動完成腳本,好讓這個指令更加完善且易於使用。
gh repo clone
命令的功能強大,擁有豐富的選項,但 GitHub CLI 內建的自動完成功能並不夠全面,未能囊括該命令的所有選項和參數。
例如,當你輸入指令時,輕按 Tab 鍵,期望會自動填寫或列出隸屬於你 GitHub 帳號下且以 my-
為開首的儲存庫名稱。
$ gh repo clone my-<Tab>
my-awesome-project my-docker-images my-python-scripts
然而,實際上你無法通過按 Tab 鍵獲取這樣的建議,只能夠依靠你手動輸入或貼上儲存庫的全名。
😟…
我認為僅憑記憶輸入正確的儲存庫名稱是一件十分困難的事,尤其是當名稱較長,或者有名稱近似的情況時,經常很容易就會弄錯。這些微小的障礙會削弱你的工作效率,特別是對那些經常需要處理多個儲存庫的人來說,相信一定深有體會。
為了追求與命令列的無縫互動,我費了好幾天的時間埋首研究,以增強命令列界面的使用體驗。最終,我為 gh repo clone
命令開發了一個自定義補全腳本,以徹底解決反覆背默與輸入儲存庫名稱及命令選項的煩惱。導入該腳本後,你將能享受到以下功能:
--
標記後按 Tab 鍵,即自動補全可供 gh repo clone
所引用的 git clone
附加選項。這個補全腳本將為你提供自動完成建議,讓你與 GitHub CLI 的互動更加流暢且高效。以下是一些常見用例:
gh repo clone <repository> -- --single-branch
gh repo clone <repository> -- --branch feature-branch --single-branch
gh repo clone <repository> -- --depth 1
gh repo clone <repository> -- --filter=blob:none --sparse
1. 下載自定義補全腳本到你的電腦:
curl -o ~/.gh-repo-clone-completion.bash \
https://gist.github.com/chriskyfung/50039cb2a9b586047adc2726085c6280/raw/.bash_profile
你可以在 GitHub Gist 上查看我上傳的源代碼。
2. 將該腳本添加到你的 Shell 設定文件中:
~/.bashrc
文件中添加 source ~/.gh-repo-clone-completion.bash
。~/.zshrc
文件中添加 source ~/.gh-repo-clone-completion.bash
。3. 測試你的腳本設置:
gh repo clone <Tab>
。若安裝正確,輸入時會看到儲存庫建議。gh repo clone -- <Tab>
,你應該會預覧到一系列可追加於 --
後面的 git clone
附加選項。添加這個 GitHub CLI 自定義補全功能後,gh repo clone
指令的使用體驗將得到大幅提升,變得更加流暢且容易上手,大幅減少那些原本瑣碎、費時的輸入操作。快來試試吧,親身試驗一下你的工作流程能獲得多大的改善。
如果你在使用過程中有任何問題或建議,歡迎到 該腳本的 gist 頁面 上提交留言!並與你一起完善這個工具,讓它更好地貢獻整個開發人員社區。
祝編程愉快!🚀
若你還有不清楚的地方,不妨去逛逛下面的外部連結,進一步加深瞭解,讓你更上一層樓!