我正在研究托管在 Github 上的 Eclipse 中的一个项目。每次我想推送时,都会弹出一个对话框,询问用户名和密码。有人知道如何保存这些,所以我不必每次都输入它们吗?我在 Eclipse 4.2.1 中使用 Egit
7 回答
也为此苦苦挣扎了一段时间:
- 转到 Git Perspective -> Expand your Project -> Expand Remotes -> 展开要保存密码的遥控器。
- 右键单击 Fetch 或 Push -> 选择 Change Credentials...
- 输入用户名和密码 -> 选择确定
这是我发现可行的解决方法。每个 Git 项目都有点手动,但它可以工作^_^。
我有不同的问题。我的凭据永久保存,我无法删除或更改它们。每次我从 git 获得 Auth Fail 时,也许你遇到了同样的问题,但在你的情况下,它会再次提示。也许它会帮助你或其他人。我转到首选项-> 常规-> 安全-> 安全存储并在内容选项卡中删除“默认安全存储”并重新启动 Eclipse。然后eGit再次要求我输入密码并成功将其保存在存储中。
您可以将 ssh url 用于您的 repo,并将您的 ssh 公钥和私钥添加到 EGit。
或者您可以激活凭证助手,以便 git 记录您的凭证。
如果安全存储中保存的密码与键入的密码不匹配,就会发生这种情况。以下是您可以解决的方法:
从 Eclipse 工具栏导航到 Window > Preferences > Security > Secure Storage > Contents Tab > [Default Secure Storage] > GIT > “whatever github url”
选择 url 并删除当前用户。
Eclipse 将要求重新启动。去做吧。
推送新的更改,这一次 egit 将提示将凭据保存在从上一步中删除的安全存储中。
该错误(对于https URI)可以链接到(仍在 2014 年开放)错误 355442:
每次推送时,egit 都会要求输入安全存储的密码。
问题是,我从不检查在推送对话框中存储存储库用户名和密码的选项。
(这意味着如果您忘记输入凭据,它不会再次询问您)
可重现:总是
重现步骤:
- 未选中“在安全存储中存储用户名和密码”选项推送到上游。
- 再推。
不断收到提示很烦人,但更烦人的是每次出现时我都必须取消选中该复选框。
如果要将密码存储在安全存储中,则对话框将不再提示。默认情况下取消选中复选框不是更有意义吗?
因此,一种解决方法是远程>获取,使用“自定义 URI”(如Antoine之前提到的),以便再次输入 URI,并在那里输入您的凭据,选择“存储在安全存储中”。
后续推送应该可以正常工作,因为它们使用的是您刚刚输入的相同 URI。
Secure Storage 是您的凭据的直接提供者。
所以,去:
- 窗口->首选项->常规->网络
- 将提供者更改为“直接”
这应该是默认设置,因为 Secure Storage 是 Eclipse 中的默认提供程序。
您还可以更改 git 首选项以不弹出确认对话框,整体结果将是一个非常快速的工作流程
一种解决方法是:
导航菜单到
Preferences
->General
->Security
->Secure Storage
取消选中OS X Keystore Integration以禁用此主密码提供程序,或者:
- Windows OS之Windows集成案例
- Linux OS的Linux集成案例
申请并关闭
这样,eclipse 将依赖UI 提示而不是 OS 密钥库,因此您只需在启动 eclipse 后键入一次安全存储密码。
以下是其他人如何做到的一些示例: