如何通过GitHub REST API克隆仓库到含作者名的层级目录中
修改后可直接使用的脚本
UserName=CHANGEME; \ curl -s https://api.github.com/users/$UserName/repos?per_page=1000 |\ jq -r '.[] | "\(.full_name) \(.clone_url)"' |\ xargs -L1 sh -c 'mkdir -p "$(dirname "$0")" && git clone "$1" "$0"'
修改说明
- 调整了
jq的输出规则:不再仅返回仓库克隆地址,同时输出每个仓库的full_name(即owner/repo格式的完整名称)和clone_url两个字段 - 通过
sh -c包裹执行逻辑:- 先用
mkdir -p自动创建full_name对应的上层目录(也就是所有者名称的一级目录),避免git克隆时因父目录不存在报错 - 调用
git clone时显式指定目标路径为full_name,直接生成所有者/仓库名的层级目录结构
- 先用
内容的提问来源于stack exchange,提问作者Xyd
相关产品推荐
相关产品推荐

