簡體   English   中英

如何使用EGIT讀取公共git存儲庫中的所有提交?

[英]How to read all the commits of a public git repository using EGIT?

我正在使用EGit API讀取遠程存儲庫。 我的用例是讀取任何公共git存儲庫的所有提交。 EGit是否可能?

以下是我讀取所有存儲庫的代碼:

GitHubClient client = new GitHubClient();
    client.setCredentials("xxx.xx.xx@gmail.com", "********");

    RepositoryService service = new RepositoryService(client);

    List<Repository> repositories = service.getRepositories();

    for (int i = 0; i < repositories.size(); i++)
    {
        Repository get = repositories.get(i);
        System.out.println("Repository Name: " + get.getName());
    }

要讀取提交,我使用以下代碼:

CommitService commitService = new CommitService(client);
    for (RepositoryCommit commit : commitService.getCommits(repository)) {
        System.out.println(commit.getCommit().getMessage());
    }

這僅列出了屬於我的存儲庫。 但是,假設我想從公共倉庫(例如https://github.com/eclipse/jgit)中讀取所有提交

EGit是否可能?

EGit是Eclipse的Git集成。 要以編程方式訪問Git存儲庫,請使用JGit。 您的代碼段引用了EGit還提供的GitHub API,以檢查托管在GitHub上的存儲庫。

要訪問任意Git信息庫的歷史記錄(不僅是GitHub上的信息),您需要首先對其進行克隆。 例如:

Git.cloneRepository()
  .setURI( "https://github.com/eclipse/jgit.git" )
  .setDirectory( "path/to/local/repo" )
  .call();

可以在以下位置找到有關如何使用JGit克隆存儲庫的詳細說明: http : //www.codeaffine.com/2015/11/30/jgit-clone-repository/

現在,您可以使用LogCommand列出本地存儲庫的提交。 請參見此處的示例: 使用JGit從Git檢索提交消息日志

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM