使用 GitHub API 从所有存储库获取最新提交

发布日期:2026-07-02 12:19:03   来源 : 杭州电子商务研究院    浏览量 :18
杭州电子商务研究院 发布日期:2026-07-02 12:19:03  
18

介绍

GitHub 开发人员 API 是一种强大而可靠的方法,可帮助您提高工作效率。使用此 API,您可以为您的团队创建节省时间的 CLI 和 UI 开发人员工具。GitHub 开发人员 API 可以为您节省时间并使您能够创建强大的自定义工具的一种方式是通过其提交 API。例如,假设您有一个在代码库上运行的自定义自动化流程,并且该流程需要根据 Git 提交的消息运行。GitHub API 使这样的工具能够工作!

本指南将演示如何使用 GitHub API 从 React 应用程序内部获取最近五次 Git 提交到存储库。

让我们开始吧!

API 概述和设置

GitHub API 分为两大部分:REST 和 GraphQL。本指南将使用 REST API,但如果您习惯使用 GraphQL,GraphQL API 也是一个很好的选择。

您需要做的第一件事是安装 @octokit/core NPM 依赖项。这是 GitHub 的核心开发人员工具包,也是本指南将用于与 GitHub 的 REST API 交互的 NPM 包。要安装此依赖项,请导航到您的顶级项目目录并运行:

      npm install --save-dev @octokit/core
    

安装此依赖项后,下一步将是生成个人访问令牌,以便您的程序可以成功通过 GitHub 的 REST API 进行身份验证。为此,请导航到GitHub 帐户的令牌设置部分并按照屏幕上的步骤操作。

下载依赖项并准备好个人访问令牌后,就可以开始与 GitHub API 交互了。

获取最近 5 个提交

在获取提交列表时,GitHub API 会为您提供许多可以使用的 API 参数。以下是可用于此部分 API 的可用选项列表:

  • 所有者:必需选项,指定存储库所有者的用户名
  • repo:必需选项,这是所讨论的 repo 名称
  • sha:有趣的是,此选项可以是 git commit SHA 或分支名称。此选项默认为 repo 的默认分支。
  • path:允许你过滤包含此文件路径的提交
  • 作者:此选项将按作者用户名或电子邮件地址过滤返回的提交
  • since:这将过滤掉在指定日期之前发生的所有提交
  • 直到:与“自从”相反,这会过滤掉在给定日期之后发生的所有提交
  • per_page:您可以在此处指定每页的结果数。每页最多 100 次提交!
  • page:此选项允许您指定访问结果的页码。当您操作超过 100 个提交时,它很有用。

GitHub 开发人员 API 提供了丰富的功能,可与您的 GitHub 代码库进行编程交互。除了简单地列出 Git 提交之外,您还可以做更多的事情!我鼓励您查看 GitHub REST API 文档,了解可用的大量选项。

现在您已经进入了 React 代码,是时候看看这个 API 可以做什么了!

注意:不要忘记保密您的授权令牌!不要将您的令牌签入源代码管理!

      import { Octokit } from "@octokit/core";

function CommitListComponent() {
  const [commits, setCommits] = useState([]);
  const octokit = new Octokit({ auth: 'your-token!' });


  useEffect(() => {
    const owner = 'test-user',
                 repo = 'test-repo',
           perPage = 5;

    const fiveMostRecentCommits = await octokit.request(
        `GET /repos/{owner}/{repo}/commits`, { owner, repo, per_page: perPage }
    );

    setCommits(fiveMostRecentCommits);
  }, [])

    return (
      <ul>
        {commits.map(commit => (
          <li key={commit.id}>
            {commit.author.name}: {commit.message}
          </li>
        ))}
      </ul>
    );
}
    

哇,这真的很简单!如您所见,首先您需要从 GitHub 的开发者 API 项目导入 Octokit 类。使用您的个人访问令牌实例化 Octokit 类的实例后,您就可以使用 Octokit 的请求方法开始列出提交!

这个特定的 React 组件从 GitHub API 请求最近的五个 Git 提交,然后简单地在列表中显示作者姓名和提交消息。您可以轻松看到如何扩展它以请求特定日期之间的提交或从给定作者的所有存储库列表中的提交。API 的可能性确实非常巨大。

结论

GitHub 开发人员 API 提供了丰富的功能,可与您的 GitHub 代码库进行编程交互。请查看GitHub REST API 文档,了解可用的大量选项。我希望本指南能帮助您设想如何在自己的项目中使用 Github API,从而节省您和您的团队宝贵的时间和精力。

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据