egit – 未经授权

我使用EGit从Eclipse Juno连接到GIT,并成功克隆了某个远程存储库。 在克隆过程中,我input了我的Github用户名和密码,但select不保存它们。

然后,我试图“从上游获取”。 我得到这个错误:

  https://github.com/biunlp/nlp-lab.git:未经授权 

我没有机会input我的用户名和密码…

这很奇怪,因为我连接到这个存储库,以克隆…

A.为每个远程指定单独的凭证

  1. 打开Git仓库视图,
  2. 打开“ Remotes > origin > <your push url>
  3. 点击“更改证书…”

推菜单

(从用户指南 – 资源上下文菜单 )

B.指定每台服务器的凭证

如果要在同一台服务器上访问多个存储库而不多次提供相同的凭据,则可以使用.netrc 。 有了这个,eGit将使用您提供的configuration。

  1. 在用户主目录中创build名为.netrc (Windows中的_netrc )的文本文件。
  2. 以下列格式将内容添加到文件中:
    机器my.server1.com
    loginyourUserName
    密码yourPassword

    机器my.server2.com
    loginyourUserName
    密码yourPassword

Stash文档包含更多关于.netrc的信息

安全问题以这种方式使用.netrc的问题是密码在纯文本中是可见的。 请参阅Stackoverflow中的这个答案来解决这个问题。

你可以试试:

eclipse / myeclipse>菜单

窗口>首选项>常规>安全性>

内容>点击“删除”>确定

如果您在GitHub上使用双因素身份validation,则即使使用正确的用户名和密码,也可能会返回“未经授权”错误 。 这可以通过生成个人访问令牌来解决。

在生成安全访问令牌之后,我们将使用此代替密码。 请务必在完成之前不要离开页面,因为一旦离开页面,就再也看不到了(幸好它可以重新生成,但是使用先前生成的标记的任何内容都将不再进行validation)。

这假定您已经成功安装了EGit,并且已经成功克隆了一个存储库。

  1. 转到您的GitHub.com设置,然后在左侧窗格中单击Personal access tokens
  2. 点击Generate new token 。 select您希望此令牌可以使用的范围,并生成它。
  3. 复制令牌。 它应该看起来像这样: 9731f5cf519e9abb53e6ba9f5134075438944888 (不要担心,这是无效的)。
  4. 回到Eclipse(Juno,因为这是OP的版本),点击Window > Show View > Other...Git ,selectGit Repositories
  5. 出现一个新窗格,您可以从中打开(repository name) > Remotes > origin
  6. 右键单击一个节点并selectChange Credentials... input您的用户名和密码的安全访问令牌。

当我在远程存储库上更改密码时,我遇到了类似的问题。

下面是我如何在Mac上的Eclipse上修复它:

重要说明:这些说明有清除所有密码和其他安全信息的副作用。 我没有问题,但是在你遵循这些指示之前,你会考虑这个问题。

  1. 点击菜单上的Eclipse – > Preferences。
  2. 预计一个名为首选项的popup窗口。
  3. 展开“常规”树项目。
  4. 双击“安全”树项目。
  5. 预计popup窗口的主窗格将变为“请参阅'安全存储'…”
  6. 点击“安全存储”。
  7. 期望主窗格切换到选项卡式窗口。
  8. 点击“内容”选项卡。
  9. 点击“删除”。
  10. 接受警告,说明您的所有安全信息都已删除。
  11. 点击“取消”或“应用”退出popup窗口。
  12. 点击“Git Pull”图标,并提示input用户名和密码。