sh 用于备份组织的所有GitHub存储库的Shell脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 用于备份组织的所有GitHub存储库的Shell脚本相关的知识,希望对你有一定的参考价值。
#!/bin/sh
LOGIN=YOURLOGIN
TOKEN=YOURTOKEN
ORG=YOURORG
DONE=0
PAGE=0
# sample output:
# "total_private_repos": 50,
# "public_repos": 41,
NUMREPOS=$(curl -s "https://$LOGIN:$TOKEN@api.github.com/orgs/$ORG" | awk '
/public_repos/{t+=substr($2, 0, length($2)-1)}
/total_private_repos/{t+=substr($2, 0, length($2)-1)}
END{print t}')
while [ $DONE -lt $NUMREPOS ]; do
# Sample:
# "full_name": "VividCortex/wlr",
for repo in $(curl -s "https://$LOGIN:$TOKEN@api.github.com/orgs/$ORG/repos?type=all&page=$PAGE" | awk '/full_name/{print substr($2, 2, length($2)-3)}'); do
if [ ! -e "$HOME/repos/${repo#*/}" ]; then
(cd "$HOME/repos" && git clone git@github.com:$repo.git)
else
(cd "$HOME/repos/${repo#*/}" && git pull || echo "^^ $repo")
fi
DONE=$(($DONE + 1))
done
PAGE=$(($PAGE + 1))
done
以上是关于sh 用于备份组织的所有GitHub存储库的Shell脚本的主要内容,如果未能解决你的问题,请参考以下文章
python 用于列出github组织的所有存储库的脚本
sh 用于克隆用户的所有授权和/或公共存储库的脚本。使用https进行克隆。访问存储库的用户可能是dif
备份github组织存储库和成员分叉的bash脚本
sh 从github中的组织下载所有回购
github存储库的本地缓存?
python 用于管理github存储库的Ansible模块