美好的一天 伙计们,我对Jgit有问题 我尝试从分支获取所有提交-但是Jgit跳过一半提交
提交:2019年11月26日星期二15:26:19 提交:2019年11月26日星期二14:28:01 提交:2019年11月13日星期三15:44:40 提交:2019年11月12日星期二16:27:27
在11月26日至13日之间,我的提交范围很广
这是我的代码
RevWalk walk = new RevWalk(repo);
walk.markStart(walk.parseCommit(repo.resolve(Constants.HEAD)));
walk.sort(RevSort.TOPO);// chronological order
walk.setRevFilter(RevFilter.ALL);
for(RevCommit commit : walk ) {
System.out.println(commit.getAuthorIdent().getWhen());
}
如果我们检查gitLab-跳过之前的最后一次提交是11月26日 在该提交开发人员中,将“当前分支”合并为“一些测试分支”
在提交之后,我们跳过了一大步 我希望你们中的一些人已经遇到了这个问题,并且可以对我有所帮助)
答案 0 :(得分:1)
请参见snippet中的jgit-cookbook,基本上可以使用“ Log”命令来实现:
try (Git git = new Git(repository)) {
ObjectId branchId = repository.resolve("somebranch");
Iterable<RevCommit> commits = git.log().add(branchId).call();
int count = 0;
for (RevCommit commit : commits) {
System.out.println("LogCommit: " + commit);
count++;
}
}