JGit -签出到特定的远程提交ID哈希



我正在尝试使用JGit库访问特定的提交文件。

使用Git命令,这看起来像:git checkout [COMMIT_ID],然后我的文件夹将签出到特定的提交并从中获取任何文件。

现在使用JGit,我调用Git.cloneRepository()函数来获取我的存储库(遗憾的是,这里不能从特定的提交中克隆)。然后我试图使用这个结帐:gitRepo.checkout().setName(gitCommitId).call()

但这让我得到以下错误:Remote origin did not advertise Ref for branch COMMIT_ID. This Ref may not exist in the remote or may be hidden by permission settings.

这很奇怪,因为CLI的git命令是可以工作的。

也许通过这个库不是可行的,但是我在网上还没有找到其他的东西。

setName(String name)更多用于分支名称,而不是提交ID。

setStartPoint(RevCommit startCommit)不使用commit ID

如图所示,git.checkout().setAllPaths(true).setStartPoint(gitCommitId).call();在克隆之后会更好。

最新更新