【发布时间】:2012-09-12 05:15:13
【问题描述】:
我正在尝试使用 jgit 的 api 和以下代码进行 git pull/push
org.eclipse.jgit.api.Git.open(theRepoFile).pull().call()
但我遇到了异常
JSchException Auth fail
com.jcraft.jsch.Session.connect (Session.java:461)
org.eclipse.jgit.transport.JschConfigSessionFactory.getSession (JschConfigSessionFactory.java:116)
org.eclipse.jgit.transport.SshTransport.getSession (SshTransport.java:121)
org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init> (TransportGitSsh.java:306)
org.eclipse.jgit.transport.TransportGitSsh.openPush (TransportGitSsh.java:152)
org.eclipse.jgit.transport.PushProcess.execute (PushProcess.java:130)
org.eclipse.jgit.transport.Transport.push (Transport.java:1127)
org.eclipse.jgit.api.PushCommand.call (PushCommand.java:153)
即使使用 cgit pull 和 push 也可以。
我尝试检查 SO 示例代码
但上述问题并未提供完整的编码示例,说明使用通常通过 ssh 密钥进行身份验证的远程仓库执行 git pull 所需的内容。应该有一种方法可以从 ~/.ssh/ 或 windows 等效项获取凭据信息。
【问题讨论】: