JGit克隆并获取修订哈希

Upe*_*pen 8 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();
Run Code Online (Sandbox Code Playgroud)

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

cen*_*tic 7

你可以得到一个Ref含有ObjectIdHEAD有以下:

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

这打印出这样的东西

Ref of HEAD: SymbolicRef[HEAD -> refs/heads/master=f37549b02d33486714d81c753a0bf2142eddba16]: HEAD - f37549b02d33486714d81c753a0bf2142eddba16
Run Code Online (Sandbox Code Playgroud)

另见相关片段jgit,食谱

而不是HEAD,即使当前检出了不同的分支,您也可以使用类似的东西refs/heads/master来获取HEAD分支master.