我在我的Github帐户上有一些存储库,我正在尝试将所有这些存储库(私有和公共)的名称列表管道到一些脚本中以自动执行一些任务。
我做了什么-
- 阅读了很多关于这个的QnA,但大多数答案都围绕着
git remote
或我发现与问题无关的类似命令。我仍然检查了它的例子来确定这一点。很少有人回答如何列出本地存储的repos,但这意味着要克隆每个repos。我相信这两个问题不会重复。 - 浏览git文档,但似乎没有允许这个操作
- 考虑克隆整个帐户(大约7gb..)请不要让我这么做
任何想法?
现在可以使用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中最好是一个单独的问题。
查找此信息的唯一方法是通过GitHub API(例如,使用此API调用),这将需要HTTP客户端和一些JSON解析。通常,这将通过curl
和jq
来完成,但您也可以使用Ruby等语言来完成。
这个信息没有被Git公开,因为Git没有公开在一个服务器上拥有多个可发现的存储库的概念。许多托管存储库的站点也没有这个概念。逃亡只是Git的一个包装,所以它也没有这个概念,尽管有一些扩展可以支持它与GitHub一起工作,可以提供这个功能。