J Git объединяет Repo A в разветвленную версию repo B, где A опережает B - PullRequest
0 голосов
/ 06 апреля 2020
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?

1 Ответ

0 голосов
/ 08 апреля 2020

Сначала в 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...