在同一台计算机上使用相同的凭据使用Github Windows工作良好,可以进行拉取/克隆操作。
但是,在同一台计算机上安装为Windows服务的TeamCity会返回以下错误。
List remote refs failed: org.eclipse.jgit.errors.TransportException: https://github.com/my-private-repo.git: not authorized
在同一台计算机上使用相同的凭据使用Github Windows工作良好,可以进行拉取/克隆操作。
但是,在同一台计算机上安装为Windows服务的TeamCity会返回以下错误。
List remote refs failed: org.eclipse.jgit.errors.TransportException: https://github.com/my-private-repo.git: not authorized
git@github.com:.../repository.git
。在获取URL中使用https://
会导致错误消息如下所示:List remote refs failed: org.eclipse.jgit.errors.TransportException..
我曾经遇到过同样的问题,并通过在Github中创建个人访问令牌并将其用作TeamCity密码来解决它。
我在Stash(=Bitbucket服务器)遇到了同样的错误,解决方法是在Stash中给TeamCity指定的用户授予访问存储库的权限。权限是针对每个存储库的。
如果其他人遇到类似问题,可能是GitHub中的用户凭据出了问题,但我还没有找到具体的设置。
在TeamCity中使用不同的用户可以解决问题,即使作为有问题的用户,我也可以在命令行上执行clone/fetch/pull和ls remote操作。
对于遇到使用Bitbucket时出现的问题的任何人。
自2022年3月起,您不能再使用个人凭据将您的应用程序连接到Bitbucket。您需要创建一个应用密码(请参见此处如何操作)。
标识符将不是您的电子邮件地址,而是您的Bitbucket用户名。
也许与此不太相关,但您可能是通过关键词“teamcity、github、list remote refs failed”来到这里的。
对于那些服务器在代理后面的人,请根据连接超时:github.com为TeamCity服务器设置代理。
主要思路是:
为了使TeamCity能够使用代理,必须创建一个环境变量:
名称:TEAMCITY_SERVER_OPTS
值:-Dhttp.proxyHost=192.168.0.1 -Dhttp.proxyPort=80 -Dhttps.proxyHost=192.168.0.1 -Dhttps.proxyPort=80
我在一个托管在IIS上的git服务器上遇到了同样的错误。
问题出现在安装了IIS的“基本身份验证”后。之后,新的身份验证方法“基本身份验证”被启用(似乎是默认的)用于git服务器的网站。禁用“基本身份验证”解决了这个问题。
尝试使用本地git客户端使用相同的凭据进行推送/获取,这可能提供更多详细信息,这些信息可能与凭据有关。
这是对我的建议,因为TeamCity显示了相同的错误,而这些解决方案都没有起作用。