我正在尝试使用EGit推送到远程存储库。
有问题的远程存储库是附加到Google App Engine项目的Google Cloud存储库。我可以运行' git push origin master'用命令行git客户端成功推送到它,但试图用EGit推送请求我登录命令行客户端没有。
如果我只是点击“确定”'没有输入任何东西,我看到了推送结果'窗口,显示错误,指出远程存储库的URL未经授权'。
任何人都知道如何使用eclipse和eGit推送到远程仓库?
答案 0 :(得分:0)
如果您每次使用git credential store helper时git都没有请求您的凭据。 Eclipse将密码存储在自己的安全存储中。我认为你只需要设置一次凭证并指定Eclipse来记住它。
我希望这能解决你的问题。
答案 1 :(得分:0)
假设您的意思是Google Cloud Source Repository ... two documented ways to configure access to CSR repositories :( 1)通过凭据帮助,或(2)通过.gitcookies
。不幸的是,JGit / EGit目前不支持凭证助手(feature request)和.gitcookies
(feature request)。
但Google工程师指出,CSR支持使用OAuth访问令牌作为密码。我已经通过浏览Google Cloud SDK提供的git-credential-gcloud.sh
来证实这一点。您可以使用以下方式获取访问令牌:
$ gcloud auth application-default print-access-token
使用您的帐户名作为密码(您的电子邮件),并将该访问令牌作为您的密码。访问令牌确实过期,因此必须重新输入密码,并且不值得将密码保存到Eclipse的安全存储中。
如果您有多个帐户(gcloud auth list
),则可能需要使用gcloud config set account <ACCOUNT>
选择正确的帐户。
请注意,此访问令牌使用未记录,如有更改,恕不另行通知。