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/foo
和 refs/remotes/origin/foo
(如果遵循默认命名约定)。
该方法不更新远程跟踪分支。除非您首先从远程存储库中获取有问题的分支,否则不会报告任何更改。
FetchResult result = git.fetch()
.setRemote("origin")
.setRefSpecs("refs/heads/foo:refs/remotes/origin/foo")
.call().
result
包含成功操作或无法完成的原因的详细信息。
这是否解决了您的问题?
我需要查找 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/foo
和 refs/remotes/origin/foo
(如果遵循默认命名约定)。
该方法不更新远程跟踪分支。除非您首先从远程存储库中获取有问题的分支,否则不会报告任何更改。
FetchResult result = git.fetch()
.setRemote("origin")
.setRefSpecs("refs/heads/foo:refs/remotes/origin/foo")
.call().
result
包含成功操作或无法完成的原因的详细信息。
这是否解决了您的问题?