Вытащить из удаленного филиала в J git с ошибками самоконтроля - PullRequest
1 голос
/ 11 февраля 2020

У меня есть следующий код в скрипте, который я использую.

 Git git = Git.open(repoLocation);
 Repository repo = git.getRepository();
 git.checkout()
    .setName("feature/test")
    .setStartPoint("remotes/origin/feature/test")
    .call();
 git.pull()
    .setRebase(true)
    .call();

Однако я не могу вытащить из ветки удаленных функций, называемой «тест». Как мне go получить данные из этой удаленной ветви с помощью J git?

Пройдя через отладчик, я решил попробовать выполнить локальное извлечение вручную. При наборе

git pull

в моем терминале bash я получаю следующую ошибку:

fatal: unable to access 'https://username@myCompany.com/path/to/repo.git/': SSL certificate problem: self signed certificate in certificate chain

Теперь я думаю, что это root ошибки. Как мне go отменить изменения в репо локально, оставаясь при этом безопасным ( код запускается в апплете, который распространяется среди других - большинство ответов в Интернете говорят об отключении проверки SSL, но я думаю, что это не сработает ).

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Моим решением было использование аутентификации RSA при клонировании хранилища. Это решило мою проблему. Я следовал этой статье о том, как использовать аутентификацию RSA, затем отрегулировал то, что мне было нужно оттуда.

Обратите внимание, что я использовал другой URL для клонирования репо. Вместо использования

https://username@myCompany.com/path/to/repo.git/

я использовал:

ssh://git@My.Company.Com/PATH/repo.git
0 голосов
/ 11 февраля 2020

В этом техническом блоге приведен следующий пример того, как работать с ветками в J git:

// Create a new branch
git.branchCreate().setName("newBranch").call();
// Checkout the new branch
git.checkout().setName("newBranch").call();
// List the existing branches
List<Ref> listRefsBranches = git.branchList().setListMode(ListMode.ALL).call();
for (Ref refBranch : listRefsBranches) {
System.out.println("Branch : " + refBranch.getName());
}
// Go back on "master" branch and remove the created one
git.checkout().setName("master");
git.branchDelete().setBranchNames("newBranch");

Попробуйте выполнить git.fetch().setRemote("origin").call();, затем git.checkout().setName("newBranch").call(); перед делать git pull и оно должно работать.

...