JGit克隆并获取修订哈希

时间:2015-10-13 18:56:25

标签: java git github git-clone jgit

我使用以下代码从Java克隆git repo。我需要存储克隆的最新版本哈希。

localRepo = new FileRepository(path);
git = new Git(localRepo);
Git.cloneRepository().setURI(url).setBranch("master")
                .setDirectory(new File(path)).call();
git.close();

有关获取修订哈希的任何线索吗?

1 个答案:

答案 0 :(得分:7)

您可以获得包含以下Ref ObjectId HEAD的{​​{1}}:

        Ref head = repository.getAllRefs().get("HEAD");
        System.out.println("Ref of HEAD: " + head + ": " + head.getName() + " - " + head.getObjectId().getName());

打印出类似这样的内容

Ref of HEAD: SymbolicRef[HEAD -> refs/heads/master=f37549b02d33486714d81c753a0bf2142eddba16]: HEAD - f37549b02d33486714d81c753a0bf2142eddba16

另请参阅related snippet

中的jgit-cookbook

除了HEAD之外,您还可以使用refs/heads/master之类的内容来获取分支HEAD的{​​{1}},即使当前已检出其他分支也是如此。