我想使用JGit获取存储库中的最后提交元数据(按日期最小的提交)。
我知道我可以使用以下方式获取提交元数据
try (RevWalk walk = new RevWalk(repository)) {
RevCommit commit = walk.parseCommit(repository.resolve(commitHash));
}
但是如何获取最新的提交哈希?
还有其他方法可以RevCommit
直接在存储库中按日期获取最小数据吗?
按所有分支中的最后提交日期进行比较。 ListMode.ALL
可以更改为ListMode.REMOTE
仅比较远程分支。或者…
.setListMode(whatever)
可以省略流利的setter 以便从本地存储库读取。
RevCommit youngestCommit = null;
Git git = new Git(repository);
List<Ref> branches = git.branchList().setListMode(ListMode.ALL).call();
try {
RevWalk walk = new RevWalk(git.getRepository());
for(Ref branch : branches) {
RevCommit commit = walk.parseCommit(branch.getObjectId());
if(youngestCommit == null || commit.getAuthorIdent().getWhen().compareTo(
youngestCommit.getAuthorIdent().getWhen()) > 0)
youngestCommit = commit;
}
} catch (...)
问题内容: 我不知道自己在做什么错,但是如果不先从系统中完全删除旧容器,就无法从注册表中使用最新映像。即使docker- compose pull已获取较新的映像,它似乎仍在使用先前启动的映像。 我研究了如何使docker-compose始终从新映像重新创建容器?这似乎与我的问题类似,但是那里提供的解决方案都不适合我,因为我正在寻找可以在生产服务器上使用的解决方案,因此我不想在启动它们之前先删除所
我有一个新克隆的存储库的SHA-1。我要这个SHA-1的作者缩进。 所以我需要使用RevWalk并迭代整个存储库?或者是否有 方法或其他代码可用于获取 或其他具有 PersonIdent 的对象? 我尝试了什么:
我正在尝试从profile repository中获取first name和last name等属性,并使用Droplet将其显示在jsp中。下面是我的示例代码:sampledroplet.java SampleDroplet.Properties sampledroplet.jsp 我试着在jsp中显示profileId,它起作用了。但当我将它传递给droplet时,它显示NullPointer
问题内容: 我一直在研究将要集成Git功能的基于Java的产品。使用Git的功能之一,我通过分阶段执行将10多个文件添加到Git存储库中,然后在一次提交中提交了这些文件。 以上过程可能相反吗?即查找作为提交的一部分提交的文件列表。 我在命令的帮助下获得了提交,但是我不确定如何获取提交的文件列表。 示例代码: 问题答案: 每个提交都指向一 棵树 ,该 树 表示构成该提交的所有文件。注意,这不仅包括使
我一直在开发一个基于Java的产品,Git特性将被集成到该产品中。通过使用Git的一个特性,我将10个文件添加到Git存储库中,然后在一次提交中提交。 上述过程是否可能相反?即查找作为提交的一部分提交的文件列表。 我在< code>git.log()命令的帮助下获得了提交,但是我不确定如何获得提交的文件列表。 示例代码:
问题内容: 我正在尝试使用jGit克隆存储库并签出特定的提交。 假设提交哈希为:1e9ae842ca94f326215358917c620ac407323c81。 我的第一步是: 然后,我发现了另一个提出这种方法的问题: 但是我不确定如何将两者链接在一起? 有什么想法吗? 问题答案: 您将必须首先克隆存储库,因此第一步是正确的: 要仅通过ID检出提交,可以这样调用: 但是请注意,这将导致HEAD分