首页 > 解决方案 > 克隆私有 GitHub 存储库,作为 GitHub 应用程序进行身份验证

问题描述

我正在构建一个 CI 应用程序,它按计划或每次合并新代码时通过 Webhook 对 GitHub 存储库的内容进行一些工作。

我已经创建了一个 GitHub 应用程序并进行了所有设置,以便用户可以使用它登录、授予它访问他们的存储库的权限以及配置他们的 CI 作业。

我无法找到有关如何克隆完整 repo 内容的文档,如果它是私有的,则通过验证为连接我的 GitHub 应用程序的用户。我找到了有关为 repo 获取树的文档,但似乎我仍然必须通过 JSON 响应并分别下载每个文件,这感觉就像我自己重新实现 Git 克隆一样。

现在我只是git clone从我的 CI 脚本中将命令作为子进程启动。只是想知道这里有什么解决方案。我应该使用 libgit2 吗?还是使用该树 API 并下载所有文件?

标签: gitgithub

解决方案


回答这个问题可能有点晚了,GitHub 可以选择通过应用程序请求的访问令牌来克隆存储库。

Github 文档

git clone https://x-access-token:<token>@github.com/owner/repo.git

推荐阅读