java - JGit 将 Repo A 合并到分叉版本的 repo B 中,其中 A 在 B 之前
问题描述
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
.
如果尚未完成,请检查refs/heads/develop
repoB 中的目标分支。
调用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();
推荐阅读
- dataweave - Mule 4:Dataweave:如何进行以下转换?
- ruby-on-rails - 带有会话中间件的 Rails API 多个数据库不起作用
- ios - 在不缩减现有内容的情况下呈现视图控制器?
- android - Android工具栏使图标重叠到下面的区域
- javascript - 是否有任何选项可以将所有受人尊敬的电子邮件放入作为数组的表头中?
- raspberry-pi - 为 raspberrypi 4 构建 u-boot 后找不到 MLO 和 img 文件
- haskell - 在 Haskell 中检测冗余约束?
- opencart-3 - 在 opencart 中调用供应商文件夹类
- php - 需要在 laravel groupby 日期中加入 3 个表
- r - 将 hh:mm:ss 格式的时间转换为秒或分钟