8

我是使用 git 的新手。每次我想将我的文件推送到 github 时,它总是向我显示输入密码的通知。例如:“https://username@bitbucket.org”的密码

我希望我的 git 为我记住密码。我应该如何在 Windows 7 上做到这一点?我已经在这里阅读了帮助页面https://help.github.com/articles/set-up-git

4

2 回答 2

11

如果您按照 Github 上的说明进行操作,请注意这一行。

很高兴知道:凭据帮助程序仅在您克隆 HTTPS 存储库 URL 时起作用。如果您改用 SSH 存储库 URL,则使用 SSH 密钥进行身份验证。

您正在使用 ssh,因此 git 凭证助手无法正常工作。你有几个选择。

  • 设置 ssh-agent 来存储您的 ssh 密钥密码。

ssh 问题并非特定于 git。您可以设置一个 ssh-agent,这样您只需输入一次 ssh 密钥密码。它将被记住,安全地存储在内存中,直到您注销。 Github 有一个关于设置 ssh-agent 的教程

无论您选择哪个选项,我都强烈建议您花时间设置 ssh-agent。SSH 是如此有用且如此广泛,您将再次遇到这个问题。

  • 切换到使用 https 而不是 ssh。

而不是从克隆,git@github.com:username/my-repo.git您可以从https://github.com/username/my-repo.git. 它是http您的项目页面上的按钮。然后 github 文档中描述的 git credential helper 将起作用。您可能必须先安装它,或者使用他们的 Github 应用程序。这一切都在Github on Windows 设置指南的密码缓存部分中进行了描述。

  • 使用他们的 Github 应用程序。

该指南提到他们现在有一个 Github 应用程序,它可能会为你解决这个问题。然而,这只是一个权宜之计,因为其他 git 服务器不会有这样的东西。

于 2012-12-23T11:49:29.607 回答
2

github 允许两种不同的方法访问您的存储库:https 和 ssh。

在您问题的第一个版本中,您将 git 配置为通过 ssh 访问 github。因此 git 调用 ssh 尝试读取您的密钥并询问您 ssh 密钥的密码。

当您创建您的 ssh 密钥时,您可以通过密码来保护它或决定不这样做。

如果您决定输入密码,那么您要么必须在每次要使用密钥时输入密码(即推送、获取等),要么可以使用 ssh-agent。在最后一种情况下,您只需在将密钥添加到代理时输入一次密码。之后,代理将为您完成所有授权。

在 Windows 上,您可以使用 PuTTY 工具来管理您的密钥: http: //www.chiark.greenend.org.uk/~sgtatham/putty/download.html

您可以使用它puttygen来生成新密钥或更改现有密钥。(例如删除密码)

您可以pagent用作 ssh 代理。启动后它将驻留在通知区域。单击图标以添加您的密钥。

一旦您的代理知道了密钥,就不应再要求您提供 ssh 密码。

于 2012-12-23T12:15:58.570 回答