如何在jgit中创建空分支

如何在jgit中创建空分支,git,jgit,Git,Jgit,现在我得到了一个临时git非裸存储库。我想保留最后一根空树枝。我该怎么办 我使用克隆获取非裸存储库: git = Git.cloneRepository().setURI(repository.getDirectory().getAbsolutePath()).setDirectory(file) .setNoCheckout(true).call(); 我试着这样做: git.checkout().setName(FINAL_TEMP_BRANCH).setC

现在我得到了一个临时git非裸存储库。我想保留最后一根空树枝。我该怎么办

我使用克隆获取非裸存储库:

git = Git.cloneRepository().setURI(repository.getDirectory().getAbsolutePath()).setDirectory(file)
                .setNoCheckout(true).call();
我试着这样做:

git.checkout().setName(FINAL_TEMP_BRANCH).setCreateBranch(true).call();
git = Git.cloneRepository().setURI(repository.getDirectory().getAbsolutePath()).setDirectory(file)
                .setNoCheckout(true).call();
        git.commit().setMessage("Initial commit").call();
        git.branchCreate().setName(FINAL_TEMP_BRANCH).call();
但我有个例外:

org.eclipse.jgit.api.errors.RefNotFoundException: Ref HEAD can not be resolved

我只想创建一个最终的_TEMP_分支,它是空的。我该怎么办?

当调用git clone命令时,它将自动创建一个“主”分支。但现在头什么也没指出来。所以我们应该做点什么,然后头部会指向最新的承诺。我们可以这样做:

git.checkout().setName(FINAL_TEMP_BRANCH).setCreateBranch(true).call();
git = Git.cloneRepository().setURI(repository.getDirectory().getAbsolutePath()).setDirectory(file)
                .setNoCheckout(true).call();
        git.commit().setMessage("Initial commit").call();
        git.branchCreate().setName(FINAL_TEMP_BRANCH).call();

现在git存储库有两个分支:主分支和最终分支。它们都是空的。

我发现,从jgit3.3开始,它就支持git.checkout().setorven(true).setName(“orphandBranch”);创建一个新的空分支。在JGIT3.1.0中我可以做什么?