如何查看从我的GitHub仓库模板创建的仓库数量

28
我如何查看在GitHub上从我的template repo创建的所有子仓库列表?
GitHub在WUI顶部显示了从给定仓库创建的fork数量,旁边是“stars”和“watches”。您可以在“分析”选项卡下显示到这些用户fork的链接列表。
我如何获取从我的模板仓库在GitHub上创建的所有仓库的类似列表?

7
我希望有人能回答这个问题,我在谷歌上搜索了这个问题并找到了 GitHub 社区上的这篇讨论串(https://github.community/t/is-there-a-way-to-find-repositories-generated-from-my-template-repository/122838/2)。目前还没有看到任何反馈,也许你应该投票支持一下这个讨论串,这样它就会得到更多关注。 - Meir Gabay
1
您也可以通过反馈表单https://support.github.com/contact/feedback请求此功能。 - Ian
2个回答

8

哎呀!读完这篇文章 - 基于存储库内容搜索, 答案就清楚了!按 README.md 文件内容搜索!

使用 GitHub 的搜索引擎,并提供在您的 README.md 文件中出现的独特单词组合。这是我为我的模板做的方式 - unfor19/terraform-multienv

in:readme sort:updated -user:unfor19 "tfmultienv"
github.com/search?q=in%3Areadme+sort%3Aupdated+-user%3Aunfor19+%22%60tfmultienv%60%22&type=repositories

为了获得有意义的搜索结果

  • 使用 sort:updated 进行排序。
  • 使用 -QUALIFIER过滤掉我的用户名 -user:USERNAME

你可以使用关键字 @me 代替硬编码的 USERNAME


7
当然,通常情况下这种方法行不通,因为没有什么可以阻止用户炸掉模板的 README.md 并添加自己的内容;而且人们通常会这样做。 - Sridhar Ratnakumar
4
我找到的这个是最好的替代方案。你有更好的替代方案吗? - Meir Gabay

3

Shell脚本和gh FTW:

#!/bin/bash

org_name="MYORGNAME"
repo_list=`gh repo list $org_name --limit 1000 | awk '{print $1}'`
template_repo=$1

if [ -z "$template_repo" ]
then
  echo "Usage: $0 <template_repo>"
  echo "  List repositories generated from a given template repository"
  echo "ABORTING!"
  exit 1
fi

echo "Searching for repositories generated from template: $template_repo"
for repo in $repo_list
do
  repo_info=`gh api repos/$repo`
  echo "$repo_info" | jq -r ".template_repository.full_name" | grep "$template_repo" 2>&1 > /dev/null
  if [ "$?" -eq "0" ]
  then
    echo "repo_using_template: $repo"
  fi
done

然后,在设置org_name变量后,运行./find_repo_by_template.sh <template_repo>以获取使用该模板的存储库列表。我的用例需要在组织内搜索。如果您有不同的用例,您应该能够轻松地调整我的脚本以获得所需的结果。

1
那么这个方法无法搜索整个GitHub.com(即所有用户,而不仅仅是特定的组织)?我不知道如何调整它以搜索所有用户和所有组织。你能否更新问题并说明如何做到这一点? - Michael Altfield
这对我的组织非常完美! - Busch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接