我想在我们的Github安装中搜索所有代码库以获取不同的文本字符串。我们有app。 90个不同的存储库。
有这样的方法吗?
我只能找到搜索文件名,作者等,而不是搜索代码中的字符串。我的任务是找到每个使用或引用很快就过时的系统,类,方法等的项目。
或者:是否有方法可以在一个操作中下载/克隆所有存储库?
我们使用SourceTree作为客户端软件。
答案 0 :(得分:19)
您现在可以直接在组织的顶部进行搜索。这会产生前缀org:
。
e.g。如果你想搜索所有twitter repos中的单词bot,你会搜索org:twitter bot
https://github.com/search?l=&q=org%3Atwitter+bot&ref=advsearch&type=Code
答案 1 :(得分:10)
您可以通过在查询中添加repo:
选项来搜索多个存储库,您可以在GitHub的advanced search页面上查看该选项。每个repo值采用通常的user/repository
形式。例如:
find_me repo:me/foo repo:you/bar repo:company/baz
要列出所有存储库(如果没有存储库),一个简单的方法可能是GitHub repositories API。
获得列表后,使用简单的shell脚本克隆所有内容也很简单。我不相信GitHub有内置功能。</ p>
while read repo; do
git clone https://github.com/$repo
done < list_of_repos.txt
由于听起来像是在拉一个组织的回购,caniszczyk a Gist正在做这件事。我会在这里复制它的核心,但是有一些关于私人回购的更新和帮助的讨论。
curl -s https://api.github.com/orgs/twitter/repos?per_page=200 | \
ruby -rubygems -e 'require "json"; JSON.load(STDIN.read).each { |repo| %x[git clone #{repo["ssh_url"]} ]}'
还有another SO question询问它,full backup script来解决问题,wiki等。