JGit克隆存储库

Scr*_*ger 7 clone repository jgit

我正在尝试使用JGit克隆Git存储库,我遇到了UnsupportedCredentialItem的问题.

我的代码:

FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(PATH).readEnvironment().findGitDir().build();

Git git = new Git(repository);              
CloneCommand clone = git.cloneRepository();
clone.setBare(false);
clone.setCloneAllBranches(true);
clone.setDirectory(PATH).setURI(url);
UsernamePasswordCredentialsProvider user = new UsernamePasswordCredentialsProvider(login, password);                
clone.setCredentialsProvider(user);
clone.call();   
Run Code Online (Sandbox Code Playgroud)

它会发生异常:

 org.eclipse.jgit.errors.UnsupportedCredentialItem: ssh://git@github.com:22: Passphrase for C:\Users\Marek\.ssh\id_rsa at
 org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider.get(UsernamePasswordCredentialsProvider.java:110)....
Run Code Online (Sandbox Code Playgroud)

但是,如果我在.ssh \中删除文件known_hosts,它将发生不同的异常

org.eclipse.jgit.errors.UnsupportedCredentialItem: ssh://git@github.com:22: The authenticity of host 'github.com' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting?
at org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider.get(UsernamePasswordCredentialsProvider.java:110)....
Run Code Online (Sandbox Code Playgroud)

是否有可能对该问题键入"是"或者只是跳过它?

谢谢!

mog*_*777 5

我认为如果您使用用户名和密码登录,则需要https。对于 ssh,您需要一个与 github 上记录的公钥匹配的公钥。


小智 3

我想你可能想查看 github 帮助:

http://help.github.com/win-set-up-git/

特别是关于生成 ssh 密钥的部分 ( ssh-keygen -t rsa -C "your_email@youremail.com")。阅读适合您的环境的文章,您将了解如何获得更好的配置。