Java 列出自使用JGit从master创建分支以来的所有提交
我正试图使用JGit来获取一个特定于分支的提交日志,因为它是创建的。我在论坛上发现了一些帖子,听起来像是在描述这一点,但它们似乎都返回了对分支的承诺以及之前的所有内容 我基本上想用JGit模拟这个git命令Java 列出自使用JGit从master创建分支以来的所有提交,java,jgit,git-log,Java,Jgit,Git Log,我正试图使用JGit来获取一个特定于分支的提交日志,因为它是创建的。我在论坛上发现了一些帖子,听起来像是在描述这一点,但它们似乎都返回了对分支的承诺以及之前的所有内容 我基本上想用JGit模拟这个git命令 git log master..testBranch 这正是我想要的。下面的代码片段应该做到这一点,它向后遍历分支testBranch,直到提交打开master 我还将其添加到我的 try(Git-Git=new-Git(存储库)){ Iterable logs=git.log() .no
git log master..testBranch
这正是我想要的。下面的代码片段应该做到这一点,它向后遍历分支
testBranch
,直到提交打开master
我还将其添加到我的
try(Git-Git=new-Git(存储库)){
Iterable logs=git.log()
.not(repository.resolve(“master”))
.add(repository.resolve(“remotes/origin/testBranch”))
.call();
计数=0;
for(RevCommit rev:logs){
System.out.println(“提交:“+rev/*+”,名称:“+rev.getName()+”,id:“+rev.getId().getName()*/”;
计数++;
}
System.out.println(“Had”+count+“仅在测试分支上提交”);
}
谢谢,谢谢你添加它。我已经在你的食谱中找到了这个,它很有用。我发现了更复杂的例子,但我知道它必须简单得多。
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");
}