Git Java 中的远程更新查找器

Git Remote Updates finder in Java

我需要查找 Git 远程分支与之前克隆的本地分支相比是否有任何更新。如果有任何更新可用,应用程序必须通知用户并征得用户同意,必须在 Java.

中执行拉取请求

我试过使用 JGIT org.eclipse.jgit.lib.BranchTrackingStatus.of(git.getRepository(), git.branchList().call().get(0).getName()).getBehindCount() 了解我的本地存储库是否在远程存储库后面。 这总是返回 0

函数BranchTrackingStatus.of的第一个参数必须是一个Repository对象,传递的对象是本地的repository对象。

感谢解决这种情况的任何建议。

BranchTrackingStatus 将本地分支与配置的远程跟踪分支进行比较,例如refs/heads/foorefs/remotes/origin/foo(如果遵循默认命名约定)。

该方法不更新远程跟踪分支。除非您首先从远程存储库中获取有问题的分支,否则不会报告任何更改。

FetchResult result = git.fetch()
    .setRemote("origin")
    .setRefSpecs("refs/heads/foo:refs/remotes/origin/foo")
    .call().

result 包含成功操作或无法完成的原因的详细信息。

这是否解决了您的问题?