final Git repoAgit = Git.cloneRepository()
.setURI(repoAgitUrl)
.setDirectory(new File(repoApath))
.setBranchesToClone(Arrays.asList("refs/heads/develop"))
.setBranch("refs/heads/develop")
.setTransportConfigCallback(TRANSPORT_CONFIG_CALLBACK)
.call();
final Git repoBgit = Git.cloneRepository()
.setURI(repoBgitUrl)
.setDirectory(new File(repoBpath))
.setBranchesToClone(Arrays.asList("refs/heads/develop"))
.setBranch("refs/heads/develop")
.setTransportConfigCallback(TRANSPORT_CONFIG_CALLBACK)
.call();
如何将
repoA
合并到repoB
,其中repoA
应该在repoB
之前,而repoB
是repoA
的分叉版本? 最佳答案
首先,在repoB
中,创建引用repoA
的遥控器。
然后从此远程获取,以便有两个本地分支:refs/heads/develop
和refs/remotes/repoa/develop
。
如果尚未完成,请在repoB中签出目标分支refs/heads/develop
。
调用MergeCommand
将远程跟踪分支合并到HEAD。
例如:
repoB.remoteAdd().setName("repoa").setUri(new URIish("/path/to/repoA")).call();
repoB.fetch().setRemote("repoa").call();
MergeResult mergeResult = repoB.merge()
.include(repoB.getRepository().resolve("refs/remotes/repoa/develop"))
.call();