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

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

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

./get_all_repos.sh username1 username2 ..

get_all_repos.sh 内容:


#/usr/bin/sh

git_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
    done
fi

欢迎告诉我更好的方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值