是否可以将一个用户拥有的所有GitHub存储库转移到另一用户?管理员是否可以使用此功能(例如,如果用户无法再访问GitHub,则在Enterprise上)?
答案 0 :(得分:1)
GitHub有一个方便的命令行工具:hub
位于https://hub.github.com
我已经写了一个示例,将您所有组织中的所有存储库移至my_new_organisation_name
:
#!/usr/bin/env bash
orgs="$(hub api '/user/orgs' | jq -r '.[] | .login')";
repos="$(for org in $orgs; do hub api '/orgs/'"$org"'/repos' | jq -r '.[] | .name';
done)"
for org in $orgs; do
for repo in $repos; do
( hub api '/repos/'"$org"'/'"$repo"'/transfer'
-F 'new_owner'='my_new_organisation_name' | jq . ) &
done
done
对于用户而不是组织,请将my_new_organisation_name
设置为替换用户名,删除外部循环,然后将repos=
行替换为:
repos="$(hub api /users/SamuelMarks/repos | jq -r '.[] | .name')"
编辑:如果您喜欢GUI,则找到了https://stackoverflow.com/a/54549899