boxmoe_header_banner_img

张兴海

加载中

文章导读

github一键克隆获取当前用户下的所有仓库项目


avatar
Starsea 2024年8月22日 23

采用一下方法实现

使用循环调用来获取所有仓库的地址:

1. 开启一个循环来获取所有仓库的地址,并将结果保存到一个文件中,例如 `all_clone_urls.bat`:

```bash

for page in {1..7} # 假设每页100条,共600多个仓库

do

    curl "https://api.github.com/users/shuangyulin/repos?per_page=100&page=$page" | grep -o '"clone_url": ".*"' | cut -d'"' -f4 >> all_clone_urls.bat

done

2.在这个示例中,我们假设每页返回100个仓库信息,因此循环了7次(总共600+个仓库),同时将每次获取的地址追加写入到 all_clone_urls.bat 文件中。

执行上述命令后,您将得到一个包含所有仓库地址的 all_clone_urls.bat 文件。

这样,可以通过循环调用多次来获取所有仓库的地址,并将其保存到单个文件中。

#!/bin/bash

# 方法增大缓存

git config --global http.postBuffer 524288000

# 设置安全问题

git config http.sslVerify "false"

# 加速镜像地址

mirror_url="https://github.com.cnpmjs.org"

# 读取包含仓库地址的文本文档

while IFS= read -r url

do

    url=$(echo $url | tr -d '\r')  # 去除可能的换行符

    echo "Cloning repository: $url"

    # Git clone 命令,使用加速镜像地址

    git clone ${url/$mirror_url} ${url##*/}

    # 检查克隆结果

    if [ $? -eq 0 ]; then

        echo "Successfully cloned: $url"

    else

        echo "Failed to clone: $url"

    fi

done < git_repos.txt



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码