如何通过命令行查看在 Github 中创建的存储库?

如何通过命令行查看在 Github 中创建的存储库?

如何通过命令行查看您在 Github 中创建的存储库?

答案1

您可以向 GitHub 的 REST API 发出 HTTP GET 请求,以查询给定用户拥有的存储库列表。我将使用wget该请求,它应该已在 Ubuntu 上预装。另一种工具可以是curl

响应是一个相当大的 JSON 对象,因此我决定使用jshon(使用 安装sudo apt install jshon)作为 JSON 解析器来仅提取存储库名称。您也可以只查看完整响应或使用您喜欢的任何其他解析方法。如果它只是供人类阅读,而您不太关心格式,那么只需通过管道传输grep full_name就足够了。


那么,让我们从命令开始。要获取我的公共 GitHub 存储库列表(用户名显然是“ByteCommander”),我将运行以下命令:

wget -qO- 'https://api.github.com/users/ByteCommander/repos' | jshon -a -e 'full_name' -u

您应该获得类似于这些行的输出(仅多几行......):

ByteCommander/AdventOfCode
ByteCommander/ByteCommander.github.io
ByteCommander/ChatExchange6
ByteCommander/dynamodb-local

上述命令可以分解为由 发出的 HTTP 请求wget,其响应在 STDOUT 上输出并通过管道传输到 JSON 解析器中,后者提取相关信息。

wget -qO- 'https://api.github.com/users/ByteCommander/repos'

这显然会向给定的 URL 发送请求。替换ByteCommander为您各自的 GitHub 用户名。这些-qO-选项用于修改wget响应的输出方式。它是-q(quiet, no progress/status output) 和-O -(output file is STDOUT) 的缩写。有关更多信息,请参阅man wget

jshon -a -e 'full_name' -u

这会使jshon解析器从 STDIN(wget其中 的输出被管道化)读取 JSON 数据,并根据指定的选项对其进行解析。-a对响应数组的所有元素应用以下操作:-e 'full_name',提取"full_name"所应用对象的属性。-u最后只是删除提取的字符串值周围的引号。在 中阅读更多内容man jshon

您可以在以下位置找到有关 GitHub v3 REST API 的详细说明,尤其是 list-user-repositories 端点及其 JSON 响应格式:他们的官方文件

相关内容