48

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

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

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

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

这很奇怪,因为我连接到这个存储库是为了克隆......

4

5 回答 5

69

A. 为每个遥控器单独指定凭据

  1. 打开 Git 存储库视图,
  2. 打开“ Remotes > origin > <your push url>
  3. 单击“更改凭据...”

推送菜单

(来自用户指南 - 资源上下文菜单

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

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

  1. 在用户主目录中创建一个名为.netrc_netrc在 Windows 中)的文本文件。
  2. 以这种形式将内容添加到文件中:
    机器 my.server1.com
    登录你的用户名
    密码 yourPassword

    机器 my.server2.com
    登录你的用户名
    密码 yourPassword

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

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

于 2013-01-10T15:01:14.207 回答
43

你可以试试:

eclipse/myeclipse > 菜单

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

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

于 2013-09-01T03:48:50.670 回答
32

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

生成安全访问令牌后,我们将使用它而不是密码。确保在完成之前不要离开页面,因为一旦离开页面,您将永远不会再看到它(幸运的是它可以重新生成,但使用之前生成的令牌的任何内容都将停止验证)。

这假设您已成功安装 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
于 2016-01-26T15:08:10.960 回答
13

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

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

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

  1. 在菜单上单击 Eclipse -> 首选项。
  2. 期待一个名为 Preferences 的弹出窗口。
  3. 展开“常规”树项。
  4. 双击“安全”树项。
  5. 预计弹出窗口的主窗格将更改为“请参阅 'Secure Storage' for...”
  6. 单击“安全存储”。
  7. 期望主窗格更改为选项卡式窗口。
  8. 单击“内容”选项卡。
  9. 点击“删除”。
  10. 接受您的所有安全信息已被删除的警告。
  11. 单击“取消”或“应用”退出弹出窗口。
  12. 单击“Git Pull”图标,系统会提示输入用户名和密码。
于 2014-04-30T17:23:27.160 回答
0

这对我有用:

转到 Git 配置文件-> 设置-> 开发人员设置-> 个人访问令牌如果有任何现有令牌,则删除并生成新令牌 [提供注释,指定天数并检查回购] -> 复制生成的新令牌转到 eclipse 和现在当出现相同的登录提示时,尝试提供生成的个人令牌作为密码而不是 Git 密码。

于 2022-02-13T14:01:30.190 回答