一个可以下载某人github所有Repositories的简单脚本

来源:互联网 发布:港币贬值 知乎 编辑:程序博客网 时间:2024/05/16 12:42

        昨晚想下载一个人github上面的所有 Repositories。但是他的 Repositories有点多,感觉有点麻烦,就写了下面這個简单的小脚本。

可以下载一个或多个用户的所有Repositories, 使用方法:

./get_all_repos.sh username1 username2 ..

get_all_repos.sh 内容:


#/usr/bin/shgit_host="https://github.com"tmp_log="tmp_repos.log"function gitclone(){  username=$1  mkdir -p $username  echo "----------STARTING CLONE, USERNAME : $username ----------"  curl $git_host/$username?tab=repositories |grep href |grep $username|grep -v Stargazers |grep -v title= > $tmp_log  num=`grep -n class=\"follow\" $tmp_log |awk -F':' '{print $1}'`  awk -F'"' 'NR>'$num'{print $2}' tmp_repos.log |while read line; do     echo "Starting Get " $git_host$line     if [ -d .$line ];then          echo ".$line allready exist, run fetch"         cd .$line         git fetch         cd ../..     else        git clone $git_host$line .$line     fi  done  rm -vf $tmp_log  echo "----------END CLONE, USERNAME : $username----------"}if [ $# = 0 ] ; then  echo "Usage : ./get_all_repos.sh username1 username2 .."else    for i in "$@"    do        gitclone $i    donefi

欢迎告诉我更好的方法。