Github搜索API - 排除特定主题

12
根据文档,我可以使用-来从搜索API中排除某些内容...例如,我在语言字段上测试过,这个方法可行,但是在主题上不起作用。
根据文档:

提示 cats stars:>10 -language:javascript 匹配包含单词“cats”,有超过10颗星但不是使用JavaScript编写的仓库。

但是如果我想搜索cats stars:>10 -topic:javascript,它就不再起作用了。尽管我已经测试过,确实有9个仓库将javascript作为主题,但结果不对。
所以

cats stars:>10 返回714个结果

cats stars:>10 -topic:javascript 返回714个结果(-无效)
cats stars:>10 +topic:javascript 返回9个结果

cats stars:>10 -language:javascript 返回602个结果(-有效)
cats stars:>10 +language:javascript 返回112个结果


4
我认为这是GitHub搜索功能的一个bug。我确认在主题搜索中无法正常工作。 - Vincent
1个回答

1

有一个使用 GitHub CLI 的解决方法:

ORG 替换为组织名称。

Unix 系统:

gh repo list ORG --json name,repositoryTopics --limit 200 --jq '.[] | select(.repositoryTopics//[] | all(.name != "unwanted-label-name"))' | sort

Windows:

gh repo list ORG --json name,repositoryTopics --limit 200 --jq ".[] | select(.repositoryTopics//[] | all(.name != """unwanted-label-name"""))" | sort

对于GitHub企业版,请在运行命令之前设置环境变量:

GH_HOST=your.github.enterprise.company.host

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