从 Jgit 中的远程分支中拉取自证书错误
Pull from a remote branch in Jgit with self certificate errors
我正在使用的脚本中有以下代码 运行。
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();
但是,我无法从名为 "test" 的远程功能分支中提取数据。我如何通过 Jgit 从这个远程分支中拉取数据?
通过我的调试器后,我决定尝试在本地手动拉取。输入
时
git pull
在我的 bash 终端中,出现以下错误:
fatal: unable to access 'https://username@myCompany.com/path/to/repo.git/': SSL certificate problem: self signed certificate in certificate chain
我现在认为这是错误的根源。我如何在保持安全的同时在本地拉回回购更改(代码在分发给其他人的小程序中运行——大多数在线答案都说禁用 SSL 验证,但我认为这行不通).
这个tech blog给出了以下关于如何在Jgit中处理分支的例子:
// 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
,应该可以。
我的解决方案是在克隆存储库时使用 RSA 身份验证。它解决了我的问题。我按照 this article 了解如何使用 RSA 身份验证,然后从那里调整了我需要的内容。
请注意,我确实使用了不同的 URL 来克隆存储库。而不是使用
https://username@myCompany.com/path/to/repo.git/
我用过:
ssh://git@My.Company.Com/PATH/repo.git
我正在使用的脚本中有以下代码 运行。
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();
但是,我无法从名为 "test" 的远程功能分支中提取数据。我如何通过 Jgit 从这个远程分支中拉取数据?
通过我的调试器后,我决定尝试在本地手动拉取。输入
时git pull
在我的 bash 终端中,出现以下错误:
fatal: unable to access 'https://username@myCompany.com/path/to/repo.git/': SSL certificate problem: self signed certificate in certificate chain
我现在认为这是错误的根源。我如何在保持安全的同时在本地拉回回购更改(代码在分发给其他人的小程序中运行——大多数在线答案都说禁用 SSL 验证,但我认为这行不通).
这个tech blog给出了以下关于如何在Jgit中处理分支的例子:
// 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
,应该可以。
我的解决方案是在克隆存储库时使用 RSA 身份验证。它解决了我的问题。我按照 this article 了解如何使用 RSA 身份验证,然后从那里调整了我需要的内容。
请注意,我确实使用了不同的 URL 来克隆存储库。而不是使用
https://username@myCompany.com/path/to/repo.git/
我用过:
ssh://git@My.Company.Com/PATH/repo.git