列出分支的所有提交,因为它是使用 JGit 从 master 创建的
List all commits of a branch since it was created from master with JGit
我正在尝试使用 JGit 来获取特定于分支的提交日志,因为它已创建。我在论坛上发现了几篇听起来像是在描述这一点的帖子,但它们似乎都 return 提交给分支和之前的所有内容。
我基本上想用 JGit
模拟这个 git 命令
git log master..testBranch
这正是我想要的。
以下代码片段应该执行此操作,它向后遍历分支 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");
}
我正在尝试使用 JGit 来获取特定于分支的提交日志,因为它已创建。我在论坛上发现了几篇听起来像是在描述这一点的帖子,但它们似乎都 return 提交给分支和之前的所有内容。
我基本上想用 JGit
模拟这个 git 命令git log master..testBranch
这正是我想要的。
以下代码片段应该执行此操作,它向后遍历分支 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");
}