不需要密码的Git私有仓库

5
我在使用 GitHub 的私有 git 仓库,每次拉取或推送时都需要输入我的 GitHub 用户名和密码。有没有办法让它不再每次都要求输入密码呢?
我使用的是 Xubuntu GNU/Linux 命令行界面。
2个回答

6
我会使用SSH连接而不是HTTPS。
只需创建一个密钥,将其提供给Github即可:https://help.github.com/articles/generating-ssh-keys 更新:
如果您已经在使用HTTPS,则可以轻松将远程的URL更改为SSH:
git remote set-url origin git@github.com:user/repo.git
现在您将能够通过SSH进行推送/拉取。更多信息可以在Github上找到。
如果您正在克隆新的存储库,请确保使用Github在存储库页面上提供的SSH克隆URL。

我有SSH密钥,它在Github上,如果没有它,你就根本无法使用Github。我已经使用Github仓库页面上的HTTPS链接克隆了代码库。 - jcubic
2
@jcubic,这是正确的答案。但是当您使用https:// URL时,您的SSH密钥将被忽略,因为您不是通过SSH连接,而是通过HTTPS连接。将您的远程从https://... 切换到 git@github.com...,您的SSH密钥将变得相关。 (另外,如果您喜欢HTTPS工作流程,则无需SSH密钥也可以在GitHub上工作。) - Chris
@Chris 是的,但他没有解释ssh不使用用户名/密码而是使用密钥,而对于https不使用ssh密钥。他告诉我生成密钥,而我已经有了一个。我只是没有注意到我没有使用ssh。因此,生成密钥将无法解决问题。 - jcubic

2

从GitHub网站上查看:https://help.github.com/articles/set-up-git#platform-linux

密码缓存

您设置的最后一个选项将告诉Git,您不想在每次计算机与GitHub通信时输入用户名和密码。

提示:

您需要Git 1.7.10或更新版本才能使用凭据助手。 凭据助手仅适用于使用HTTPS URL克隆GitHub存储库的情况。如果您使用SSH克隆GitHub存储库,则需要使用SSH密钥而不是用户名和密码进行身份验证。有关设置SSH连接的帮助,请参阅生成SSH键。 要使用此选项,您需要打开凭据助手,以便Git将密码保存在内存中一段时间:

git config --global credential.helper cache
# Set git to use the credential memory cache

默认情况下,Git会缓存您的密码15分钟。如果您需要,可以更改此设置。

git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接