提升 GitHub CLI 效率:gh repo clone 命令自動完成腳本

更新於 發佈於 閱讀時間約 6 分鐘
raw-image

你是否曾經想在命令列使用 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 鍵,即可立即列出或填入匹配的儲存庫名稱。
  • 參數補全:在 -- 標記後按 Tab 鍵,即自動補全可供 gh repo clone 所引用的 git clone 附加選項。


這個補全腳本將為你提供自動完成建議,讓你與 GitHub CLI 的互動更加流暢且高效。以下是一些常見用例:

  • 克隆單個分支
    gh repo clone <repository> -- --single-branch
  • 克隆特定分支
    gh repo clone <repository> -- --branch feature-branch --single-branch
  • 表層克隆(shadow clone)
    gh repo clone <repository> -- --depth 1
  • 部分克隆 + 稀疏檢出(partial clone + sparse checkout)
    gh repo clone <repository> -- --filter=blob:none --sparse


安裝指南

1. 下載自定義補全腳本到你的電腦

curl -o ~/.gh-repo-clone-completion.bash \
https://gist.github.com/chriskyfung/50039cb2a9b586047adc2726085c6280/raw/.gh-repo-clone-completion.bash

你可以在 GitHub Gist 上查看我上傳的源代碼。

2. 將該腳本添加到你的 Shell 設定文件中

    • bash 用戶
      ~/.bashrc 文件中添加 source ~/.gh-repo-clone-completion.bash
    • zsh 用戶
      ~/.zshrc 文件中添加 source ~/.gh-repo-clone-completion.bash

3. 測試你的腳本設置

    • 在你的終端中輸入 gh repo clone <Tab>。若安裝正確,輸入時會看到儲存庫建議。
    • 在你的終端中輸入 gh repo clone -- <Tab>,你應該會預覧到一系列可追加於 -- 後面的 git clone 附加選項。

總結

添加這個 GitHub CLI 自定義補全功能後,gh repo clone 指令的使用體驗將得到大幅提升,變得更加流暢且容易上手,大幅減少那些原本瑣碎、費時的輸入操作。快來試試吧,親身試驗一下你的工作流程能獲得多大的改善。

歡迎貢獻

如果你在使用過程中有任何問題或建議,歡迎到 該腳本的 gist 頁面 上提交留言!並與你一起完善這個工具,讓它更好地貢獻整個開發人員社區。

祝編程愉快!🚀


參考閱讀

若你還有不清楚的地方,不妨去逛逛下面的外部連結,進一步加深瞭解,讓你更上一層樓!

留言
avatar-img
留言分享你的想法!
旅人小萌-avatar-img
2025/01/26
謝謝您的分享❤️
Chris Fung-avatar-img
發文者
2025/01/26
旅人小萌 謝謝👨‍💻
avatar-img
Chris Fung 的沙龍
2會員
17內容數
正在搬家至方格子中... 🔄 📝 集中分享提升生產力、自動化至開發等技能 🐱‍💻📈 📢 歡迎訂閱・留言回應,共享交流啟發性話題 👍
Chris Fung 的沙龍的其他內容
2025/04/08
這篇文章提供逐步教學,示範如何使用 WPvivid Backup & Migration 外掛備份與遷移 WordPress 網站。教學涵蓋備份網站檔案與資料庫、下載備份檔、在新站點還原備份等步驟,並提供進階設定建議及遷移注意事項,例如停用外掛、檢查儲存空間和測試等,以確保網站遷移過程順利完成。
Thumbnail
2025/04/08
這篇文章提供逐步教學,示範如何使用 WPvivid Backup & Migration 外掛備份與遷移 WordPress 網站。教學涵蓋備份網站檔案與資料庫、下載備份檔、在新站點還原備份等步驟,並提供進階設定建議及遷移注意事項,例如停用外掛、檢查儲存空間和測試等,以確保網站遷移過程順利完成。
Thumbnail
2025/03/09
本文介紹如何利用IFTTT的「過濾器代碼」將Google試算表轉換成輕量級NoSQL資料庫,突破IFTTT資料處理限制,實現高密度資料儲存和智慧資料處理,並提供應用場景、設置步驟和進階應用技巧。
Thumbnail
2025/03/09
本文介紹如何利用IFTTT的「過濾器代碼」將Google試算表轉換成輕量級NoSQL資料庫,突破IFTTT資料處理限制,實現高密度資料儲存和智慧資料處理,並提供應用場景、設置步驟和進階應用技巧。
Thumbnail
2025/01/16
協助使用者有效利用 chrome_debug.log 來排查及解決瀏覽器問題。如何透過啟用 Chrome 及 Edge 瀏覽器的日誌記錄功能,產生 chrome_debug.log 檔案,並解讀其中的日誌信息來找出問題根源。
Thumbnail
2025/01/16
協助使用者有效利用 chrome_debug.log 來排查及解決瀏覽器問題。如何透過啟用 Chrome 及 Edge 瀏覽器的日誌記錄功能,產生 chrome_debug.log 檔案,並解讀其中的日誌信息來找出問題根源。
Thumbnail
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
這個自定義的 GitHub CLI 自動完成腳本提升了 `gh repo clone` 指令的使用體驗,支援儲存庫名稱和 `git clone` 選項的自動補全,有效減少輸入錯誤和時間浪費。腳本支援 bash 和 zsh,安裝簡單,並提供詳細的安裝和測試步驟。
Thumbnail
這個自定義的 GitHub CLI 自動完成腳本提升了 `gh repo clone` 指令的使用體驗,支援儲存庫名稱和 `git clone` 選項的自動補全,有效減少輸入錯誤和時間浪費。腳本支援 bash 和 zsh,安裝簡單,並提供詳細的安裝和測試步驟。
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
Thumbnail
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
Thumbnail
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
Thumbnail
此篇教學 : 使用GitHub架設免費的部落格網站,輕鬆擁有自己的Blog雛型,記錄生活點滴。
Thumbnail
此篇教學 : 使用GitHub架設免費的部落格網站,輕鬆擁有自己的Blog雛型,記錄生活點滴。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News