1

我的 Github 帐户上有一些存储库,我正在尝试将所有这些存储库(私有和公共)的名称列表通过管道传输到一些脚本以自动执行一些任务。

我做了什么-

  • 阅读大量关于此的 QnA,但大多数答案都围绕着git remote或我发现与问题无关的类似命令。我仍然检查了它的例子来确定这一点。很少有人回答如何列出本地存储的存储库,但这意味着克隆它们中的每一个。我相信这两个不会使这是一个重复的问题。
  • 浏览了 git 文档,但似乎没有任何内容允许此操作
  • 考虑克隆整个帐户(大约 7gb ..)请不要让我这样做

有任何想法吗?

4

2 回答 2

1

现在可以使用github 的 cli。例如,在 Ubuntu 上这是有效的:

sudo snap install gh
gh auth login
$ gh repo list tpope

Showing 30 of 84 repositories in @tpope

tpope/vim-dadbod              dadbod.vim: Modern database interface for Vim                                           public        1d
tpope/vim-fugitive            fugitive.vim: A Git wrapper so awesome, it should be illegal                            public        2d
tpope/vim-unimpaired          unimpaired.vim: Pairs of handy bracket mappings                                         public        2d
tpope/vim-commentary          commentary.vim: comment stuff out                                                       public        8d
(...)

将其集成到 vim-fugitive 中最好是一个单独的问题。

于 2021-09-22T06:47:38.600 回答
0

查找此信息的唯一方法是通过 GitHub API(例如,使用此 API 调用),这需要 HTTP 客户端和一些 JSON 解析。通常,这将通过curland来完成jq,但您也可以使用诸如 Ruby 之类的语言来完成。

Git 不会公开此信息,因为 Git 不会公开在具有多个可发现存储库的服务器上拥有单个帐户的概念。许多托管存储库的站点也没有这个概念。Fugitive 只是 Git 的一个包装器,所以它也没有这个概念,尽管有一些扩展支持它与 GitHub 一起工作,可能会提供这个功能。

于 2021-01-17T20:10:41.920 回答