gpt4 book ai didi

java - 如何使用 EGIT 读取公共(public) git 存储库的所有提交?

转载 作者:行者123 更新时间:2023-12-02 11:35:13 24 4
gpt4 key购买 nike

我正在使用 Egit API 读取远程存储库。我的用例是读取任何公共(public) 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());
}

这仅列出属于我的存储库。但是假设我想读取公共(public)存储库中的所有提交,例如 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列出本地存储库的提交。请参阅此处的示例:Retrieving Commit Message Log from Git Using JGit

关于java - 如何使用 EGIT 读取公共(public) git 存储库的所有提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48992738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com