egit – 未经授权
我使用EGit从Eclipse Juno连接到GIT,并成功克隆了某个远程存储库。 在克隆过程中,我input了我的Github用户名和密码,但select不保存它们。
然后,我试图“从上游获取”。 我得到这个错误:
https://github.com/biunlp/nlp-lab.git:未经授权
我没有机会input我的用户名和密码…
这很奇怪,因为我连接到这个存储库,以克隆…
A.为每个远程指定单独的凭证
- 打开Git仓库视图,
- 打开“
Remotes > origin > <your push url>
“ - 点击“更改证书…”
(从用户指南 – 资源上下文菜单 )
B.指定每台服务器的凭证
如果要在同一台服务器上访问多个存储库而不多次提供相同的凭据,则可以使用.netrc 。 有了这个,eGit将使用您提供的configuration。
- 在用户主目录中创build名为
.netrc
(Windows中的_netrc
)的文本文件。 - 以下列格式将内容添加到文件中:
机器my.server1.com loginyourUserName 密码yourPassword 机器my.server2.com loginyourUserName 密码yourPassword
Stash文档包含更多关于.netrc的信息
安全问题以这种方式使用.netrc的问题是密码在纯文本中是可见的。 请参阅Stackoverflow中的这个答案来解决这个问题。
你可以试试:
eclipse / myeclipse>菜单
窗口>首选项>常规>安全性>
内容>点击“删除”>确定
如果您在GitHub上使用双因素身份validation,则即使使用正确的用户名和密码,也可能会返回“未经授权”错误 。 这可以通过生成个人访问令牌来解决。
在生成安全访问令牌之后,我们将使用此代替密码。 请务必在完成之前不要离开页面,因为一旦离开页面,就再也看不到了(幸好它可以重新生成,但是使用先前生成的标记的任何内容都将不再进行validation)。
这假定您已经成功安装了EGit,并且已经成功克隆了一个存储库。
- 转到您的GitHub.com设置,然后在左侧窗格中单击
Personal access tokens
。 - 点击
Generate new token
。 select您希望此令牌可以使用的范围,并生成它。 - 复制令牌。 它应该看起来像这样:
9731f5cf519e9abb53e6ba9f5134075438944888
(不要担心,这是无效的)。 - 回到Eclipse(Juno,因为这是OP的版本),点击
Window > Show View > Other...
在Git
,selectGit Repositories
。 - 出现一个新窗格,您可以从中打开
(repository name) > Remotes > origin
。 - 右键单击一个节点并select
Change Credentials...
input您的用户名和密码的安全访问令牌。
当我在远程存储库上更改密码时,我遇到了类似的问题。
下面是我如何在Mac上的Eclipse上修复它:
重要说明:这些说明有清除所有密码和其他安全信息的副作用。 我没有问题,但是在你遵循这些指示之前,你会考虑这个问题。
- 点击菜单上的Eclipse – > Preferences。
- 预计一个名为首选项的popup窗口。
- 展开“常规”树项目。
- 双击“安全”树项目。
- 预计popup窗口的主窗格将变为“请参阅'安全存储'…”
- 点击“安全存储”。
- 期望主窗格切换到选项卡式窗口。
- 点击“内容”选项卡。
- 点击“删除”。
- 接受警告,说明您的所有安全信息都已删除。
- 点击“取消”或“应用”退出popup窗口。
- 点击“Git Pull”图标,并提示input用户名和密码。