如何通过GitHub CLI自动克隆组织下的所有仓库?
自动克隆指定组织下的所有GitHub仓库
Bash 环境下的实现
先确保已通过gh auth login完成GitHub CLI认证,执行以下命令即可批量克隆:
# 替换ORGNAME为目标组织名称,--limit可根据仓库数量调整(最大支持1000) gh repo list ORGNAME --limit 1000 --json name --jq '.[].name' | while read repo; do gh repo clone "ORGNAME/$repo" done
如果需要跳过已存在的仓库,避免重复克隆,可修改为:
gh repo list ORGNAME --limit 1000 --json name --jq '.[].name' | while read repo; do if [ ! -d "$repo" ]; then gh repo clone "ORGNAME/$repo" else echo "仓库 $repo 已存在,跳过" fi done
PowerShell 环境下的实现
适用于Windows系统,同样先完成gh auth login认证:
# 替换ORGNAME为目标组织名称 gh repo list ORGNAME --limit 1000 --json name --jq '.[].name' | ForEach-Object { gh repo clone "ORGNAME/$_" }
补充说明
--limit 1000:指定获取仓库的最大数量,默认仅返回30个,需根据组织实际仓库数调整- 若需将所有仓库克隆到指定子目录,可先创建目录
mkdir -p ./org-repos,再将克隆命令改为gh repo clone "ORGNAME/$repo" "./org-repos/$repo"
内容的提问来源于stack exchange,提问作者Somguy
相关产品推荐
相关产品推荐

