一次性克隆 GitHub 組織和個人的全部倉庫

當你維護數十個以上的倉庫時,逐個克隆不免讓人煩躁,本文將介紹如何一次性克隆 GitHub 組織或個人的全部倉庫到本地。

API

首先確定對應的 GitHub 接口地址,並將其中的 <org><user> 分別替換為組織和個人的名稱。

組織倉庫 API

1URL="https://api.github.com/orgs/<org>/repos?per_page=100&page=1"

用戶倉庫 API

1URL="https://api.github.com/users/<user>/repos?per_page=100&page=1"

克隆倉庫

由於兩個接口返回格式是類似的,填好接口地址後,接著使用以下命令進行克隆。

1curl $URL |
2  jq '.[] | .ssh_url' |
3  xargs printf 'git clone %s & ' |
4  sh
  1. curl $URL 調用接口。
  2. jq '.[] | .ssh_url' 讀取每個倉庫的 ssh_url,當然你可以使用 clone_url 以 HTTPS 協議克隆。
  3. xargs printf 'git clone %s & ' 對多個克隆命令進行拼接,其中尾部的 & 表示後臺運行,其不會等待其他命令返回結果。
  4. sh 執行上述生成的多個克隆命令。
razonyang
2024年11月5日 星期二 2023年2月11日 星期六