Github REST API git 克隆

问题描述 投票:0回答:2

有没有一种方法可以直接通过 REST v3 Github API 进行克隆?通过 API 创建新存储库、获取所需内容并使用该内容向新存储库发出 PUT 请求的最佳方式是吗?这个方法还管用吗

我想将 GitHub 存储库克隆到我自己的帐户上的任意命名的存储库中,而不需要 git CLI 或 GitHub UI 的支持(即以编程方式使用 GitHub Actions 自动配置存储库)。关于做到这一点的最佳方法有哪些想法?

git rest clone github-api git-clone
2个回答
3
投票

tl;dr 没有办法通过 API 来“克隆”。

我也想做类似的事情,以下是我发现的一些解决方法:

  1. 您可以点击 repo api 并获取克隆 url 并手动克隆。但是,您将无法通过 API 进行克隆。

  2. 使用内容 API。这将为您提供下载每个文件的链接,以及获取每个文件夹树的 URL。您必须遍历此文件并手动下载每个文件。这对于单个文件来说可能是最佳的,而不是整个存储库。

  3. 您还可以下载整个存储库。这可能是获取整个存储库的最佳选择。


0
投票

晚了几年,但对于未来的 stackoverlowers - 有 is 一个超级简单的方法可以用

APIVersion: 2022-11-28
来做到这一点。

您想利用模板。

  1. 创建您要克隆的 github 存储库
  2. 将其设置为模板存储库
  3. 使用 REST API 端点:
    /repos/{template_owner}/{template_repo}/generate

curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://api.github.com/repos/TEMPLATE_OWNER/TEMPLATE_REPO/generate \
  -d '{"owner":"octocat","name":"Hello-World","description":"This is your first repository","include_all_branches":false,"private":false}'

请参阅使用模板创建存储库

© www.soinside.com 2019 - 2024. All rights reserved.