自我 - 未经授权

时间:2013-01-10 13:40:30

标签: eclipse git egit

我刚刚使用EGit从Eclipse Juno连接到GIT,并成功克隆了某个远程存储库。在克隆期间,我输入了我的Github用户名和密码,但选择不保存它们。

然后我尝试“从上游获取”。我收到了这个错误:

https://github.com/biunlp/nlp-lab.git: not authorized

我没有机会输入我的用户名和密码......

这很奇怪,因为我连接到此存储库以便克隆...

4 个答案:

答案 0 :(得分:67)

甲。为每个远程

单独指定凭据
  1. 打开Git存储库视图,
  2. 打开&#34; Remotes > origin > <your push url>&#34;
  3. 点击&#34;更改凭据...&#34;
  4. push menu

    (来自User Guide - Resource Context Menu

    B中。指定每台服务器的凭据

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

    1. 在用户主目录中创建名为.netrc(Windows中为_netrc)的文本文件。
    2. 以此格式向文件添加内容:
    3.     machine my.server1.com
          login yourUserName
          password yourPassword
      
          machine my.server2.com
          login yourUserName
          password yourPassword
      

      Stash文档包含more information about .netrc

      安全问题以这种方式使用.netrc的问题是密码以纯文本形式显示。请参阅this answer in Stackoverflow以解决该问题。

答案 1 :(得分:42)

您可以尝试:

  

eclipse / myeclipse&gt;菜单

     

窗口&gt;偏好&gt;一般&gt;安全&gt;

     

内容&gt;点击“删除”&gt;确定

答案 2 :(得分:13)

如果你在GitHub上使用双因素身份验证,那么&#34;未授权&#34;即使您使用正确的用户名和密码,也可以返回错误。这可以通过generating a personal access token来解决。

生成安全访问令牌后,我们将使用此代码而不是密码。确保在完成之前不要离开页面,因为一旦你离开页面,你将再也看不到它了(谢天谢地,它可以重新生成,但使用以前生成的令牌的任何东西都将停止验证)

这假设您已成功安装EGit并且您已成功克隆了存储库。

  1. 转到您的GitHub.com设置,在左侧窗格中点击Personal access tokens
  2. 点击Generate new token。选择您希望此令牌能够使用并生成它的范围。
  3. 复制令牌。它看起来应该是这样的:9731f5cf519e9abb53e6ba9f5134075438944888(别担心,这是无效的)。
  4. 回到Eclipse(Juno,因为那个OP的版本),点击Window > Show View > Other...。在Git下,选择Git Repositories
  5. 系统会显示一个新窗格,您可以从中打开(repository name) > Remotes > origin
  6. 右键单击节点,然后选择Change Credentials...。输入User的用户名和Password的安全访问令牌。

答案 3 :(得分:11)

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

以下是我在Mac上的Eclipse上修复它的方法:

重要说明:这些说明具有清除所有密码和其他安全信息的副作用。我对此很好,但在你遵循这些指示之前,你会想要考虑它。

  1. 点击Eclipse - &gt;菜单上的偏好。
  2. 期待一个名为Preferences的弹出窗口。
  3. 展开“常规”树项目。
  4. 双击“安全”树项目。
  5. 预计弹出窗口的主窗格将更改为“请参阅'安全存储'以...”
  6. 点击“安全存储”。
  7. 预计主窗格将更改为选项卡式窗口。
  8. 单击“目录”选项卡。
  9. 点击“删除”。
  10. 接受警告,删除所有安全信息。
  11. 点击“取消”或“应用”退出弹出窗口。
  12. 点击“Git Pull”图标,系统会提示您输入用户名和密码。