列出分支的所有提交,因为它是使用JGit从master创建的

时间:2017-03-13 17:32:53

标签: java jgit git-log

我正在尝试使用JGit来获取特定于分支的提交日志,因为它已创建。我在论坛中发现了几个听起来像是在描述这个帖子的帖子,但他们似乎都回到了对分支的提交和之前的一切。

我基本上想用JGit模拟这个git命令

git log master..testBranch

完全符合我的要求。

1 个答案:

答案 0 :(得分:1)

以下代码段应该执行此操作,它会向后移动分支testBranch,直到提交在master上。

我还将其添加到我的jgit-cookbook

中的示例代码段中
        try (Git git = new Git(repository)) {
            Iterable<RevCommit> logs = git.log()
                    .not(repository.resolve("master"))
                    .add(repository.resolve("remotes/origin/testBranch"))
                    .call();
            count = 0;
            for (RevCommit rev : logs) {
                System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
                count++;
            }
            System.out.println("Had " + count + " commits only on test-branch");
        }