如何获取GitHub存储库的所有派生列表?

6

@YuvalItzchakov https://github.com/octokit/octokit.net/search?utf8=%E2%9C%93&q=fork 但是只针对Gists的分支(而不是git仓库)。你知道如何做吗? - TN.
3个回答

12

您可以通过访问以下网址实现此目标:

https://api.github.com/repos/<Author>/<Repo>/forks

请确保使用适当的值替换 AuthorRepo


2
最近在 octokit.net 中增加了以下功能: ObservableRepositoryForksClient.cs
    /// <summary>
    /// Gets the list of forks defined for a repository
    /// </summary>
    /// <remarks>
    /// See <a href="http://developer.github.com/v3/repos/forks/#list-forks">API documentation</a> for more information.
    /// </remarks>
    /// <param name="owner">The owner of the repository</param>
    /// <param name="name">The name of the repository</param>
    public IObservable<Repository> GetAll(string owner, string name)
    {
        Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
        Ensure.ArgumentNotNullOrEmptyString(name, "name");

        return GetAll(owner, name, ApiOptions.None);
    }

其他指定存储库的方法也存在类似的功能。

请随意在此处编辑完整代码以适应此用例。


0

线程有点老了,但是以防万一有其他人从谷歌跳转到这里,我想让它复活。

        private static IReadOnlyList<Octokit.Repository> retrieveGitHubRepos()
    {
        Task<IReadOnlyList<Octokit.Repository>> getRepoList = null;
        string appname = System.AppDomain.CurrentDomain.FriendlyName;
        Octokit.GitHubClient client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue(ConnectionDetails.appName));
        client.Credentials = new Octokit.Credentials(ConnectionDetails.username, ConnectionDetails.password);
        Task.Run(() => getRepoList = client.Repository.GetAllForUser(ConnectionDetails.username)).Wait();
        return getRepoList.Result;
    }

根据名称(GetAllForUser),它并不返回所有的分支。 - TN.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接