我正在编写一个脚本来自动完成获取git hub url的所有存储库的任务,然后将它们克隆到本地,如果克隆已经存在,那么我们必须更新最新的更改。
我一直在研究
Git bash,但我无法找到如何获取所有repo的方法以及克隆与该帐户相关联的url。
我已经查看了octokit的c#,但我不确定这是否适用于此任务。
答案 0 :(得分:1)
Git bash,但我无法找到如何获取所有回购邮件以及克隆与帐户关联的网址的方法。
这是一个简单的卷曲,使用GitHub API。例如,请参阅this gist
#!/bin/bash
# Set the user:
user="rd2b"
# Lists github repositories:
curl -s https://api.github.com/users/$user/repos | sed -n 's/.*clone_url.*"\(.*\)".*/\1/ p'
# Clone all repositories:
for i in `curl -s https://api.github.com/users/$user/repos | sed -n 's/.*clone_url.*"\(.*\)".*/\1/ p'`
do
git clone "$i" "github-$(basename $i)"
done
您需要调整脚本以便:
cd
进入该文件夹并执行git pull
(或至少git fetch
)。如果您有大号码或GitHub存储库,则可能需要考虑 pagination 。
请参阅this gist as an example。