假设我想创建一个新组织“B”,它应该包含组织“A”中每个存储库的副本。
那么,我如何自动将组织“A”中的每个存储库复制到组织“B”(而不是fork;它们应该显示为常规存储库)?
答案 0 :(得分:0)
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