代码
cloneall.sh1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| mkdir $1_repos cd ./$1_repos/ echo $(date "+%H:%M:%S 获取$1的仓库列表到 $1_repos/clone_list.temp") rm -f clone_list.temp rm -f clone_list.txt rm -f clone.sh curl "https://api.github.com/users/$1/repos?per_page=100&&page=1" | grep -w clone_url >clone_list.temp echo $(date "+%H:%M:%S 过滤链接到 $1_repos/clone_list.txt") grep -o 'https://[^"]*' clone_list.temp > clone_list.txt cat clone_list.txt rm -f clone_list.temp echo $(date "+%H:%M:%S 生成批处理文件到 $1_repos/clone.sh") sed "s/^/echo \$(date \"+%H:%M:%S 正在拉取下一个仓库\")\ngit clone --depth=1 /" clone_list.txt > clone.sh echo $(date "+%H:%M:%S 开始拉取到 $1_repos/") bash clone.sh rm -f clone.sh cd .. echo $(date "+%H:%M:%S 拉取完成,在 $1_repos/")
|
使用方法
执行 ./cloneall.sh 用户
就会把 用户 的100个仓库拉取到 用户_repos 文件夹里
例如 ./cloneall.sh TheChuan1503
参考